![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Загрузка файла в TStringList [D6]
Ольга © (2005-11-13 13:25:00)Задача такая: выстричь команду GO из файла со скриптами.
Загружаю файл в TStringList. При этом получаю StringList.Count = 1, хотя в файле строк много. На выходе получаю странную строку: 'яюi'
Не могу понять, где ошибка:
procedure LoadSQLFromFile(filename: string; Comm: TADOCommand);
var SList: TStringList; i: integer;
begin
Comm.CommandText:='';
SList:= TStringList.Create;
SList.LoadFromFile(filename);
for i:=0 to SList.Count-1 do
if Trim(SList.Strings[i])<>'GO' then
Comm.CommandText:=Comm.CommandText+SList.Strings[i];
SList.Free;
end;
Ольга (2005-11-13 14:18:00) [1]Да, именно в юникоде и был создан скрипт. Пересобрала скрипт в windows кодировке. Строки считались. И тут же наткнулась на ошибку при создании триггера. В общем, все о чем вы, sniknik, меня предупреждали и случилось.
Буду выполнять скрипт поблочно. Спасибо.
gdaujk (2005-11-13 14:03:00) [2]По-моему надо заменить у переменной SList тип на TStrings.
sniknik (2005-11-13 13:57:00) [3]p.s.
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1129801845&n=1
string (2005-11-13 13:54:00) [4]Может быть в обрабатываемом файле нет одного из символов перевода строки ? (#13,#10)
sniknik (2005-11-13 13:52:00) [5]> На выходе получаю странную строку: 'яюi'
а не в юникоде ли открываемый файл? (пожоже на заголовок оного)
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1129763043&n=18
> Задача такая: выстричь команду GO из файла со скриптами.
не надо так делать. GO ставится (в основном) как завершение логического блока, и последующие команды должны выполнятся при гарантированном завершении предыдуших. не всегда, но убирание GO и выполнение скрипта единым блоком, может привести к глюкам.
лучше сделать разбиение и выполнение этих блоков по GO отдельно, последовательно, так же как делает QA (для которого скрипт с ними в принципе и предназначен)