Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.5 MB
Время: 0.023 c
14-1085509938
тихий вовочка
2004-05-25 22:32
2004.06.13
Как работать с XML


1-1086015332
Санек
2004-05-31 18:55
2004.06.13
Как использовать системную переменную %TEMP% в пути файла?


3-1085392201
Known Unknown
2004-05-24 13:50
2004.06.13
Исключения в UDF


1-1085911662
tytus
2004-05-30 14:07
2004.06.13
Массив


1-1085729482
Leaner
2004-05-28 11:31
2004.06.13
Как правильно освободить память ?