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

Нужна помощь   Найти похожие ветки 

← →
Marat ©   (2006-11-08 08:29) [0]

Здравствуйте, мастера.
Вопрос такой.
Считываю текстовый файл.
var
 F: TextFile;
 S: string;
 i: integer;
begin
try
   AssignFile(F, "C:\Projects\Bazis\T2_20061101.txt");
   Reset(F);
SG.ColCount := 1;
SG.RowCount := 1;
while not EOF(F) do
begin
ReadLn(F, S);
OemToChar(@S[1],@S[1]);
SG.Col := 0;
while Pos(" ", S) > 0 do
begin
SG.Cells[SG.Col, SG.Row+1] := Copy(S, 1, Pos(" ", S)-1);
Delete(S, 1, Pos(" ", S));
if SG.ColCount - SG.Col = 1
then
begin
SG.ColCount := SG.ColCount + 1
end;
SG.Col := SG.Col + 1;
end;
SG.Cells[SG.Col, SG.Row+1] := S;
SG.RowCount := SG.RowCount + 1;
SG.Row := SG.Row + 1;
end;
SG.RowCount := SG.RowCount - 1;
finally
CloseFile(F);
end;
этот алгоритм верен для файла, в котором слова разделены пробелом.
А у меня файл, в котором между словами может быть 1-8 пробелов. Как быть?


← →
Орион ©   (2006-11-08 08:51) [1]

есть такая функция TrimLeft


← →
MBo ©   (2006-11-08 08:58) [2]


procedure TForm13.Button2Click(Sender: TObject);
var
 List, TempList: TStringList;
 s: string;
 i: Integer;
begin
 List := TStringList.Create;
 TempList := TStringList.Create;
 List.LoadFromfile("E:\a.txt");
 SG.RowCount := List.Count;
 for i := 0 to List.Count - 1 do begin
   s := List[i];
   OemToCharBuff(PChar(s), PChar(s), Length(s));
   TempList.CommaText := s;
   if SG.ColCount < TempList.Count then
     SG.ColCount := TempList.Count;
   SG.Rows[i].Assign(TempList);
 end;
 List.Free;
 TempList.Free;
end;


← →
Marat ©   (2006-11-08 12:22) [3]

Спасибо большое! Помогло!



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

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



Память: 0.45 MB
Время: 0.031 c
15-1162570220
{---}
2006-11-03 19:10
2006.11.26
Популярный софт на delphi.


15-1162786837
DelphiN!
2006-11-06 07:20
2006.11.26
Просмотр лог файла программы FTP.EXE


2-1162832560
pathfinder
2006-11-06 20:02
2006.11.26
Запуск файла справки chm..


15-1163084803
Slaga
2006-11-09 18:06
2006.11.26
Передать файл с сервера на клиент и наоборот


2-1163160333
Alex_C
2006-11-10 15:05
2006.11.26
Координаты мыши -> Memo X-Y




   Наверх