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

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

09.07.2013, 17:01. Показов 6495. Ответов 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
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 15:17
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Beavis Посмотреть сообщение
Попробовал перекинуть в свою (написана на XE4) в FormCreate, полетело куча ошибок...
Ну плохо кидали ...

Добавлено через 38 секунд
Вы же писали консольное приложение.
А откуда хедер брал ?
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 15:20  [ТС]
Немного поправил, остались те же ошибки:
C++
1
2
3
4
[bcc32 Error] mysql.h(42): E2215 Linkage specification not allowed
[bcc32 Error] mysql.h(42): E2040 Declaration terminated incorrectly
[bcc32 Warning] mysql_com.h(28): W8017 Redefinition of 'USERNAME_LENGTH' is not identical
[bcc32 Error] main.cpp(43): E2141 Declaration syntax error
Добавлено через 58 секунд
Цитата Сообщение от Avazart Посмотреть сообщение
А откуда хедер брал ?
из MySQL Server
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 15:20
Откуда взялся main.cpp ? в оконном приложении.

Для начала стоило попробовать пересобрать мой консольный пример со значениями из своей базы
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 15:35  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Для начала стоило попробовать пересобрать мой консольный пример со значениями из своей базы
Компилируется на ура. Единственное, не могу разобрать, что он там пишет... кракозябры, так понял ошибку какую-то. Сейчас на инглиш там переведу русские слова.

Добавлено через 9 минут
Закомментировал кирилицу
C++
1
//  system("chcp 1251");
Запускаю, пишет ОК, и выходит. Я так понимаю - всё окей значит?

Добавлено через 1 минуту
Дополню, с ошибкой вылетает каждый раз.

Поправил название таблицы в коде, выписывает 1 строку - это правильно?
и нормально закрывается.

Теперь её нужно перевести в форму
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 15:59
Цитата Сообщение от Beavis Посмотреть сообщение
// system("chcp 1251");
В консоли надо было шрифт настроить "Lucida"

Добавлено через 1 минуту
Цитата Сообщение от Beavis Посмотреть сообщение
Поправил название таблицы в коде, выписывает 1 строку - это правильно?
и нормально закрывается.
Всю таблицу вроде должен возвращать
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 16:09  [ТС]
PS попробовал запустить программу на другой машине, выдал, что отсутствует библиотека cc32130mt.dll
В коде, вроде библиотека не используется
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 16:21
Ну так Компиляция программы под С++ Builder, чтобы работала на других компьютерах есть также вероятность что ее использует mysql.dll
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 16:25  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Компиляция программы под С++ Builder, чтобы работала на других компьютерах!
Это я знаю. Всё сделал и вот библиотеку какую-то просит
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 16:30
А вот http://docwiki.embarcadero.com... _Libraries

Цитата Сообщение от Beavis Посмотреть сообщение
Компиляция программы под С++ Builder, чтобы работала на других компьютерах!
Это я знаю. Всё сделал и вот библиотеку какую-то просит
Подозреваю что все таки не правильно скомпилил...
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 16:32  [ТС]
на 7
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 16:36
For C++Builder XE3, the versions are cc32130.dll and cc32130mt.dll.
Так просит либу с XE3, значит проект неперекомпилился, нужно было очистить...
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 17:03  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Так просит либу с XE3, значит проект неперекомпилился, нужно было очистить...
немного не понял...
сейчас попробовал создать новый проект, закинул туда libmysql.dll , libmysql.lib , libmysql-bcb. Компилирует без ошибок, но сразу закрывает программу...
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 17:11
Цитата Сообщение от Beavis Посмотреть сообщение
но сразу закрывает программу...
libmysql.dll не находит

Добавлено через 22 секунды
Цитата Сообщение от Beavis Посмотреть сообщение
немного не понял...
Проект "очистить" в контекстном меню менеджера проектов
1
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 17:28  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
libmysql.dll не находит
всё запустилось, работает, выдаёт первую строку в БД (их там 4).
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 17:37
Код был чисто тестовый, я уже и не помню как должно работать, нужно разбираться ... у меня к примеру так выдает
Миниатюры
Чтение/перезапись файла Excel с хостинга  
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 19:12  [ТС]
всё правильно, показывает только первую строку, как и должно

Добавлено через 1 час 11 минут
Теперь такой вопросик, можно ли прикрутить программу к форме или наоборот ?
безболезненно, так сказать.
Вывести ,например, в дбстринг .
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 19:18
А почему нет ?

Только StringGrid придется заполнять,обновлять и обрабатывать изменения в ячейки вручную запросами
0
 Аватар для Beavis
0 / 0 / 0
Регистрация: 11.02.2013
Сообщений: 39
12.07.2013, 21:15  [ТС]
На счёт вывода ошибок и данных из таблицы.
заменой?:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (!mysql_real_connect(db,"","","","",0,NULL,0))
    {
        cout<<"Connect error with server: Error: ";
        mysql_error(db);  //О получении ошибок см. ниже
    }
else
 {
     cout<<"OK"<<endl;
     mysql_query(db, "SELECT * FROM tiptop.toptop");
     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;
 }
на:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (!mysql_real_connect(db,"","","","",0,NULL,0))
    {   
            Application->MessageBox("Ошибка соединения с сервером","Ошибка",MB_OK+MB_ERROR);
        mysql_error(db);  //О получении ошибок см. ниже
    }
else
 {
     ShowMessage("OK");
     mysql_query(db, "SELECT * FROM tiptop,tiptop");
     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; - не знаю, как перевести в таблицу.
 }
Добавлено через 27 минут
ошибка при компиляции:
extern "C" {
Добавлено через 4 минуты
Добавлю, исправил ошибку
extern "C" {
Библиотеки подключал в конце (перед FormCreat конечно), подключил после vcl.h

Добавлено через 1 час 6 минут
Поправил код, создал проект - форму в CBuilder6 - всё отлично, соединение есть... (проверил , что выводит строки, методом ShowMessage("строки"+i,"Строка",MB_OK)
Спасибо большое за помощь!
Осталось разобраться, как вывести строки в StringGrid или DBGrid, почитаю пока литературу, может чего найду. Метод бы найти, самое главное.

Добавлено через 58 секунд
Ну и конечно же, найти как реализовать
обновлять и обрабатывать изменения в ячейки вручную запросами
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2013, 21:40
Цитата Сообщение от Beavis Посмотреть сообщение
DBGrid
Думаю можно забыть...

Все инфа в доке API MySql
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.07.2013, 21:40

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
79
Ответ Создать тему
Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru