Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.26;
Скачать: 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 вся ветка

Текущий архив: 2006.11.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
3-1159181529
kaif
2006-09-25 14:52
2006.11.26
Как в ADO SQL-запросе указать дату?


15-1163081412
Ketmar
2006-11-09 17:10
2006.11.26
почему каждый сайт считает своим долгом нагадить кукишами?


2-1163023174
V.I.P
2006-11-09 00:59
2006.11.26
сложение строк БД (ОЧЕНЬ СРОЧНО нужна помощь)


2-1162926039
ils
2006-11-07 22:00
2006.11.26
Подскажите, как красивее реализовать проход по периоду


4-1152879465
Acidlex
2006-07-14 16:17
2006.11.26
Эмуляция нажатия клавиш в чужом окне