Текущий архив: 2004.06.13;
Скачать: CL | DM;
ВнизTSringList Найти похожие ветки
← →
Xmen (2004-05-31 14:02) [0]привет всем...
помогите!!!
У мне есть код типа того
var StrLst: TStringList;
begin
StrLst:=TStringList.Create;
try
StrLst.Add("My String");//
UpdDB(StrLst);
finally
StrLst.Free;
end;
end;
но
StrLst.Add("My String");//
строка не работает, то есть не добовлять "My String" в StrLst
← →
Sandman25+1 (2004-05-31 14:03) [1]Добавляет.
Ошибка в UpdDB
← →
Семен Сорокин © (2004-05-31 14:09) [2]строка не работает, то есть не добовлять "My String" в StrLst
докажи
← →
Xmen (2004-05-31 14:18) [3]Спасибо за ответы
вот мой польный код
procedure TfmUpdateDB.Button2Click(Sender: TObject);
var
StdTableLst, OraTableLst: TStringList;
begin
StdTableLst:=TStringList.Create;
OraTableLst:=TStringList.Create;
try
with OraTableLst do begin
Add("S_REGION.DBF");
Add("SPR_BANK.DBF");
Add("BNK.DBF");
end;
with OraTableLst do begin
Add("REGION_LIST");
Add("BANK_LIST");
Add("BRANCH_LIST");
end;
dmUpdateDB.UpdDB(Edit1.Text, CheckBox1.Checked, StdTableLst, OraTableLst)
finally
StdTableLst.Free;
OraTableLst.Free;
end;
end;
--------
procedure TdmUpdateDB.UpdDB(Dir: String; Conv: Boolean; StdTableList, OraTableList: TStringList);
var
i, j, FldCnt: Integer;
begin
with snMySession do begin
if IsAlias("TestUpd") then DeleteAlias("TestUpd");
AddStandardAlias("TestUpd",Dir,"DBASE");
SaveConfigFile;
end;
for i:=0 to 2 do begin
with tbMyTable do begin
Close;
TableName:=StdTableList.Strings[i];
Open;
end;
if Conv then ConvToWin(tbMyTable);
with OraTable1 do begin
Close;
TableName:=OraTableList.Strings[i];
Open;
EmptyTable;
FldCnt:=FieldCount;
end;
with tbMyTable do begin
First;
while not Eof do begin
with OraTable1 do begin
Insert;
for j:=0 to FldCnt-1 do Fields[j]:=tbMyTable.Fields[j+1];
Post;
end;
Next;
end;
end;
end;
end;
procedure TdmUpdateDB.ConvToWin(Table: TTable);
var Fil : String;
i,j : Longword;
begin
with Table do begin
First;
while not Eof do begin
for j:=0 to FieldCount-1 do begin
if Fields[j].DataType in [ftString] then Fil:=Fields[j].AsString else Continue;
for i:= 1 to Length(Fil) do begin
case Ord(Fil[i]) of
240: Fil[i]:=Chr(Ord(Fil[i])-72); // ?
241: Fil[i]:=Chr(Ord(Fil[i])-57); // ?
252: Fil[i]:=Chr(Ord(Fil[i])-67); // ?
128..175: Fil[i]:=Chr(Ord(Fil[i])+64); // ? ? ? ... ?, ? ? ...?
224..239: Fil[i]:=Chr(Ord(Fil[i])+16); // ? ? ?... ?
else Fil[i]:=Fil[i]; // (??? ????????? ??????)
end;
end;
Edit;
Fields[j].AsString:=Fil;
Post;
Fil:="";
end;
Next;
end;
end;
← →
Sandman25+1 (2004-05-31 14:23) [4]with OraTableLst do begin
...
with OraTableLst do begin
← →
Ega23 © (2004-05-31 14:25) [5]Ну и где останов срабатывает?
← →
Xmen (2004-05-31 14:26) [6]Уважаймый Sandman25+1
я не понил твой ответ
Xmen
← →
Семен Сорокин © (2004-05-31 14:27) [7]Sandman25+1 (31.05.04 14:23) [4]
глазастый, я минуты 3 искал, но не там :))
← →
Семен Сорокин © (2004-05-31 14:28) [8]Xmen (31.05.04 14:26) [6]
with OraTableLst do begin
Add("S_REGION.DBF");
Add("SPR_BANK.DBF");
Add("BNK.DBF");
end;
with OraTableLst do begin
Add("REGION_LIST");
Add("BANK_LIST");
Add("BRANCH_LIST");
end;
в один лист пишешь :)
← →
Sandman25+1 (2004-05-31 14:29) [9][6] Xmen (31.05.04 14:26)
Вы нигде не вызываете StdTableLst.Add
[7] Семен Сорокин © (31.05.04 14:27)
Я просто не понял, зачем там сразу 2 списка, поэтому обратил внимание на то, что там присваивается :)
← →
Xmen (2004-05-31 14:30) [10]with tbMyTable do begin
Close;
TableName:=StdTableList.Strings[i]; здесь StdTableList.Strings[i] пусто
Open;
end;
← →
Xmen (2004-05-31 14:32) [11]Спасибо всем
я очень бланадарен
← →
Xmen (2004-05-31 14:32) [12]Спасибо всем
я очень благадарен
Страницы: 1 вся ветка
Текущий архив: 2004.06.13;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.035 c