Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/30: Рейтинг темы: голосов - 30, средняя оценка - 4.73
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39

Чтение/перезапись файла Excel с хостинга

09.07.2013, 17:01. Показов 6315. Ответов 78
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Прошу помощи, а именно, подсказку/совет, как реализовать данный метод:
на сайте находится файл типа xls (Excel), в нём уже есть некая информация (6 столбцов, 50 строк), необходимо его строки и столбцы вывести в StringGrid и чтобы их можно было отредактировать и сохранить, тем самым файл на хостинге перезапишется (обновится).
Программа состоит из StringGrid, 2 кнопки и 2 форм - главная на неё кнопка, которая открывает вторую форму, и в этой форме находится StringGrid и кнопка, которая сохранит измененную информацию. Соединение с хостом должно создаваться при запуске программы (в FormCreate главной формы) и не закрываться (в случае ошибки всплывает MessageBox о закрытие соедин.). Как я понял, нужно из программы сделать сервер\клиент? Использоваться TCPServer и TCPClient?

Ещё хотелось бы узнать, как можно реализовать такой метод, к примеру: 2 разных пользователя запускают программу, один изменяет файл и сохраняет его (обновляет на хостинге), а второй пользователь сидит с открытой формой в которой находится стринггрид и видит его изменение ("онлайн" так сказать, без каких либо кнопок "refresh"). Как я понимаю для этого нужно пользоваться таймером?


Я немного ошибся, т.к. в стринггриде нельзя ничего изменять, он только для чтения ведь, тогда использовать Еdit ( 6 столбцов - 6 кнопок).

Добавлено через 11 минут
Среда CBuilder 6.
К сожалению не могу скинуть код, даже корявый, т.к. не могу разобраться с реализацией.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.07.2013, 17:01
Ответы с готовыми решениями:

Чтение, поиск, перезапись файла
Всем доброго времени суток. в delphi не очень силен но познания и понимание программирования есть.Хочу попросить Вас написать что...

Чтение и перезапись текстового файла
здравствуйте , помогите пожалуйста, суть проблемы в следующем, есть некий исходный txt файл содержащий некую строку(к примеру 0000), нужна...

Чтение файла xls и перезапись данных в файл txt
Задача Файл xls в нем данные (текст и числа), алгорит читает файл xls и перезаписывает данные в файл txt

78
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
11.07.2013, 21:06  [ТС]
Студворк — интернет-сервис помощи студентам
Добавочная DLL - это не проблема, т.к. можно осуществить Установщик.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.07.2013, 21:07
Ну как понимаю ф-ционал не велик так что будет не особо сложно.

Единственное нужно почитать можно ли установить привилегии именно на одну строку - ибо желательно это сделать средствами БД, а не самой программы.
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
11.07.2013, 21:09  [ТС]
Хотелось бы узнать, что именно за метод, с чего копать, так сказать. Я думаю, тем с ним полно.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.07.2013, 21:13
Ну где-то тема с моим участием.
По моему у меня даже где-то пример есть...
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
11.07.2013, 21:14  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Единственное нужно почитать можно ли установить привилегии именно на одну строку - ибо желательно это сделать средствами БД, а не самой программы.
Реализовать подключение по логину и паролю, который присвоен каждой строке - это усложнит задачу, так понимаю?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.07.2013, 21:20
Со стороны программы пофиг, это в самой БД надо организовать
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
11.07.2013, 21:39  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Ну где-то тема с моим участием.
По моему у меня даже где-то пример есть...
не могли бы вы поделиться темой?
0
11.07.2013, 21:43

Не по теме:

Чуть позже,занят ...

0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
11.07.2013, 22:37  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Не по теме:
Чуть позже,занят ...
Ок, подожду
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.07.2013, 23:31
Приблизительно выглядит как-то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <winsock.h>
 
//#include <mysql.h>
#include "C:\Program Files\MySQL\MySQL Server 5.6\include\mysql.h"
#pragma comment(lib,"libmysql-bcb.lib")
 
#include <stdio.h>
//---------------------------------------------------------------------------
#pragma argsused
 
using namespace std;
//---------------------------------------------------------------------------
int main()
{
    system("chcp 1251");
 
    mysql_server_init(0, NULL, NULL);
    MYSQL* db = mysql_init(NULL);
 
if (!mysql_real_connect(db,"localhost","root","****","mydb",0,NULL,0))
    {
        cout<<"Ошибка соединения с сервером: Error: ";
        mysql_error(db);  //О получении ошибок см. ниже
    }
else
 {
     cout<<"Ok"<<endl;
     mysql_query(db, "SELECT * FROM m_db.mytable");
     MYSQL_RES* result = mysql_store_result(db);
     MYSQL_ROW row = mysql_fetch_row(result);
     //row - массив, содержащий значения полей записи
     for(size_t i=0; i< result->field_count; i++) cout <<i<< " filelds  " << row[i]<<endl;
 }
 
 mysql_close(db);
 mysql_server_end();
 
 cout<<endl;
 
 system("pause");
 
 return 0;
}
//---------------------------------------------------------------------------

libmysql-bcb.lib - файл нужно получить специально для С++Builder
mysql.h и libmysql.dll - хедер и DLL из соответствующий версии сервера MySQL

Пробовал пересобрать старый проект - не удалось почему-то.

Добавлено через 12 минут
libmysql-bcb.lib получается конвертацией C:\Program Files\MySQL\MySQL Server 5.6\lib\libmysql.lib с помощью coff2omf
1
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
11.07.2013, 23:37  [ТС]
Сейчас проверю
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.07.2013, 23:37
Вот удалось собрать - XE3.

У меня локально сервер стоит я на нем проверял у вас же надо указывать хост БД

Код не идеален, нужно читать внимательно документацию, и следить за тем что бы были проверки ошибок и освобождения ресурсов.
Вложения
Тип файла: rar MySql2.rar (743.3 Кб, 5 просмотров)
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.07.2013, 23:42
http://dev.mysql.com/doc/refma... tions.html
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 14:13  [ТС]
Спасибо, сейчас разберу

Добавлено через 14 часов 3 минуты
попробовал откомпилировать в CBuilder 6 - ошибки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
[C++ Error] my_list.h(30): E2015 Ambiguity between 'LIST' and 'Bde::LIST'
[C++ Error] my_list.h(31): E2015 Ambiguity between 'LIST' and 'Bde::LIST'
[C++ Error] my_list.h(32): E2015 Ambiguity between 'LIST' and 'Bde::LIST'
[C++ Error] my_list.h(33): E2015 Ambiguity between 'LIST' and 'Bde::LIST'
[C++ Error] my_list.h(34): E2015 Ambiguity between 'LIST' and 'Bde::LIST'
[C++ Error] my_list.h(35): E2015 Ambiguity between 'LIST' and 'Bde::LIST'
[C++ Error] my_list.h(36): E2015 Ambiguity between 'LIST' and 'Bde::LIST'
[C++ Error] mysql.h(294): E2015 Ambiguity between 'LIST' and 'Bde::LIST'
[C++ Error] mysql.h(606): E2015 Ambiguity between 'LIST' and 'Bde::LIST'
[C++ Error] main.cpp(57): E2141 Declaration syntax error
[C++ Error] main.cpp(87): E2139 Declaration missing ;
[C++ Error] main.cpp(87): E2190 Unexpected }
На счёт последних 3 - не могу понять, почему он ругается, вроде бы всё ок.

PS попробовал откомпилировать в XE4 - всё ок. Конечно бы продолжил дело в XE4, только там приложение будет весить больше раза в 4. Так понимаю особенность нового билдера
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 14:18
Дo 1...2 M можно сжать UPX

Добавлено через 2 минуты
Попробуй в пространство имен обвернуть

C++
1
2
3
4
5
namespace MySql
{
//#include <mysql.h>
#include "C:\Program Files\MySQL\MySQL Server 5.6\include\mysql.h"
}
Ну и далее обращение через mysql::

C++
1
MySql::mysql_server_init(0, NULL, NULL);
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 14:49  [ТС]
Ошибка при компиляции
C++
1
[C++ Error] mysql.h(42): E2275 { expected
C++ Error
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 14:51
А ну фиг его знает...

Неужели он не знает extern "C".
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 14:55  [ТС]
Сейчас ещё раз зайду в XE4, попробую откомпилировать.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 15:14
Попробуй - если та же ошибка - значит скорее всего ошибка в хедере
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 15:15  [ТС]
Вы же писали консольное приложение.
Попробовал перекинуть в свою (написана на XE4) в FormCreate, полетело куча ошибок...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.07.2013, 15:15

Чтение файла Excel
Добрый день. Задача: аксесу надо прочитать файл экселя и найти в нем заголовок таблицы, но эта строка в разных файлах прыгает. ...

Чтение Excel файла
Добрый день, начинаю изучать 1С , и не могу ничего найти по данной теме. Есть файл Excel , с двумя столбцами , необходимо считать его и...

Excel и чтение dbf файла.
Доброго времени суток! Есть кучка дбф файлов, (одни сутки - один файл), в Екселе сделана некая табличка которая должна при выборе даты...

Чтение excel-файла на лету
Такая проблемка возникла: Есть Excel-файл, в который сторонее приложение по DDE-экспорту непрерывно выводит всякие данные. Мне в моем...

Чтение ячеек из файла Excel
Всем добрый день! Программирую на VB.NET 2008 - 2010. Подскажите, пожалуйста, каким образом считывать содержимое ячеек из листов Excel...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru