Вниз
Скачать: CL | DM;

Загрузка файла в TStringList   Найти похожие ветки 

← →
Ольга   (2005-11-13 13:25) [0]

Задача такая: выстричь команду 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;


← →
sniknik ©   (2005-11-13 13:52) [1]

> На выходе получаю странную строку: "яюi"
а не в юникоде ли открываемый файл? (пожоже на заголовок оного)
http://delphimaster.net/view/2-1129763043/

> Задача такая: выстричь команду GO из файла со скриптами.
не надо так делать. GO ставится (в основном) как завершение логического блока, и последующие команды должны выполнятся при гарантированном завершении предыдуших. не всегда, но убирание GO и выполнение скрипта единым блоком, может привести к глюкам.

лучше сделать разбиение и выполнение этих блоков по GO отдельно, последовательно, так же как делает QA (для которого скрипт с ними в принципе и предназначен)


← →
string   (2005-11-13 13:54) [2]

Может быть в обрабатываемом файле нет одного из символов перевода строки ? (#13,#10)


← →
sniknik ©   (2005-11-13 13:57) [3]

p.s.
http://delphimaster.net/view/2-1129763043/


← →
gdaujk ©   (2005-11-13 14:03) [4]

По-моему надо заменить у переменной SList тип на TStrings.


← →
Ольга   (2005-11-13 14:18) [5]

Да, именно в юникоде и был создан скрипт. Пересобрала скрипт в windows кодировке. Строки считались. И тут же наткнулась на ошибку при создании триггера. В общем, все о чем вы, sniknik, меня предупреждали и случилось.
Буду выполнять скрипт поблочно. Спасибо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.043 c
14-1132052141
oleggar
2005-11-15 13:55
2005.12.04
clipper deploy


4-1128372636
JJohn
2005-10-04 00:50
2005.12.04
В куче - список из строк(HeapAlloc &amp; HeapFree)


3-1129642686
alex_***
2005-10-18 17:38
2005.12.04
использовать набор из хр


4-1128443708
SDK
2005-10-04 20:35
2005.12.04
WriteFile: Как записать текст в файл с новой строки ?


14-1131601282
КаПиБаРа
2005-11-10 08:41
2005.12.04
Сергей Довлатов




   Наверх