Показать сообщение отдельно
  #22  
Старый 02.09.2015, 18:20
Kaktuz Kaktuz вне форума
Начинающий
 
Регистрация: 30.10.2011
Сообщения: 149
Репутация: 10
По умолчанию

Imikle, вот это "ADOQuery.Fields[0].AsString;" уже что-то похожее на то что нужно. Раньше пробовал так - не получалось, сейчас вроде нормально работает. Буду пробовать.

Alegun, поясню. Один знакомый состоит в клубе (Вроде Notabenoid) где занимаются переводом игр. Одна из игр в переводе которой он участвует находится в Beta версии и после каждого обновления файлы с текстов (Lua код) подвергается изменениям. Таким образом приходится каждый раз, каждый файл сверять с новым на наличие отличий и подставлять перевод. Согласитесь это мучительно, объемы там не маленькие.
Вот решил помочь. Написать программу которая будет делать следующее:
1. TreeView для удобного переключения между файлами и просмотра по иконке, обработан (переведен) ли этот файл.
2. Перевод осуществляется таким образом. Открыв файл копируем из него строку (en) и вставляем в первую ячейку, во второй ячейки записываем перевод.
3. После окончания используем StringReplace будем осуществлять перевод. Перевод всех файлов сразу.
Таким образом при выходе новой версии достаточно будет поместить в рабочую папку новые файлы, запустить перевод и все файлы будут переведены.
Это всё реально и есть рабочий проект. Как я уже писал, изначально я использовал TIniFile для этого дела, но на отметке 404 записей прекращает считывать информацию. 404 файла это маловато. У меня Delphi 7, у кого версия поновее говорят у них больше читает. Рассказав об больших объемах файлов посоветовали использовать БД. Вот и мучаюсь теперь с ней.
Еще вроде как-то можно увеличить размер буфер при котором считываются данные (IniFile.ReadString), и можно будет прочитать больше 404 файлов.

Загадка: Изображение с каким ID будет видно в BitBtn после нажатия?
Код:
Form1.Edit1.Enabled := True;
Form1.ImageList1.GetBitmap(5, Form1.BitBtn1.Glyph);
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  if Form1.Edit1.Enabled then
  begin
    Form1.Edit1.Enabled := False;
    Form1.ImageList1.GetBitmap(4, Form1.BitBtn1.Glyph);
  end
  else
  begin
    Form1.Edit1.Enabled := True;
    Form1.ImageList1.GetBitmap(5, Form1.BitBtn1.Glyph);
  end;
end;
Ответить с цитированием