Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

лишняя пустая строка   Найти похожие ветки 

 
an-na2002   (2004-04-15 06:49) [0]

Я работаю с файлом:
begin
  with TStringList.Create do try
LoadFromFile(h);
Text:= AnsiReplaceText(Text, ",", ".");
SaveToFile(h);
finally
Free;
end;
h - путь к файлу.
Только появляется лишняя пустая строка, как её убрать?


 
miwa ©   (2004-04-15 08:45) [1]

Какая "лишняя пустая строка"? В конце файла? Прогнал тестовый код: никаких лишних строк.

procedure TForm1.Button1Click(Sender: TObject);
var s:TStringlist;i:integer;
begin
 s:=tstringlist.Create;
 for i:=1 to 128 do
   s.Add(inttostr(i)+"qwerty");
 s.SaveToFile("D:\s.txt");
 s.free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var h:string;
begin
 h:="D:\s.txt";
 with TStringList.Create do try
   LoadFromFile(h);
   Text:= AnsiReplaceText(Text, ",", ".");
   SaveToFile("D:\s1.txt");
 finally
   Free;
 end;
end;


 
an-na2002   (2004-04-15 08:51) [2]

read(Vf,w,t);
     w:=w;
     t:=t;
writeln(Vff,w,t);
 Vf и Vff - TextFile;
Попробуй и посмотри.


 
miwa ©   (2004-04-15 09:00) [3]


w:=w;
t:=t;

Круто. Rose_!!!! Кто-то срочно хочет в "Орешник"!!!. Возможно, что и я ;о))

А что касается Read и WriteLn...
А Вы попробуйте Read/Write ;o))

Да. Если размерность w и t по 1 байту (итого 2 байта), то размер vff у Вас 4 байта. Подумайте на досуге, почему? ;о)))))))


 
Семен Сорокин ©   (2004-04-15 09:01) [4]

an-na2002   (15.04.04 08:51) [2]
а если так:
write(Vff,w,t);


 
an-na2002   (2004-04-15 09:14) [5]

Строка уже появляется в
begin
 with TStringList.Create do try
LoadFromFile(h);
Text:= AnsiReplaceText(Text, ",", ".");
SaveToFile(h);
finally
Free;
end;
h - путь к файлу.
А read(Vf,w,t);
    w:=w;
    t:=t;
writeln(Vff,w,t);
Vf и Vff - TextFile добавляет 0.0000000 0.00000000


 
Alx2 ©   (2004-04-15 10:07) [6]

А я страшнее напишу :)

Procedure TForm1.Button1Click(Sender: TObject);

 Procedure ReplaceCharInFile(Const FileName: String);
 Var
   hFile, hMap: THandle;
   SizeHigh, FileSize, Idx: DWord;
   FileArray: PByteArray;
 Begin
   hFile := CreateFile(PChar(FileName), GENERIC_WRITE Or Generic_Read, 0, Nil, OPEN_EXISTING, 0,
     0);
   If hFile <> INVALID_HANDLE_VALUE Then
     Try
       hMap := CreateFileMapping(hFile, Nil, page_readwrite, 0, 0, Nil);
       If hMap <> 0 Then
         Try
           FileSize := GetFileSize(hFile, @SizeHigh);
           If SizeHigh <> 0 Then
             Raise Exception.Create("Файл слишком велик");
           FileArray := MapViewOfFile(hMap, FILE_MAP_WRITE, 0, 0, 0);
           If FileArray <> Nil Then
             Try

               For Idx := 0 To FileSize - 1 Do
                 If FileArray[Idx] = Byte(",") Then
                   FileArray[Idx] := Byte(".");

             Finally
               UnmapViewOfFile(FileArray)
             End;

         Finally
           closeHandle(hMap);
         End
     Finally
       closeHandle(hFile);
     End
 End;

Begin
 If OpenDialog1.Execute Then
   ReplaceCharInFile(OpenDialog1.FileName);
End;


 
Rouse_ ©   (2004-04-15 10:32) [7]

> [3] miwa ©   (15.04.04 09:00)
>
> w:=w;
> t:=t;


Дааа уж, верх гениальности :))))


 
Плохиш   (2004-04-15 10:44) [8]

>an-na2002   (15.04.04 06:49)

Почему бы не переделать вот эти процедурки под свои нужды?

procedure TStrings.LoadFromFile(const FileName: string);
var
 Stream: TStream;
begin
 Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
 try
   LoadFromStream(Stream);
 finally
   Stream.Free;
 end;
end;

procedure TStrings.LoadFromStream(Stream: TStream);
var
 Size: Integer;
 S: string;
begin
 BeginUpdate;
 try
   Size := Stream.Size - Stream.Position;
   SetString(S, nil, Size);
   Stream.Read(Pointer(S)^, Size);
   SetTextStr(S);
 finally
   EndUpdate;
 end;
end;



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

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

Наверх




Память: 0.49 MB
Время: 0.028 c
6-1079023940
SAG
2004-03-11 19:52
2004.05.02
Подтормаживание в TCPClient


1-1082025258
Flahas
2004-04-15 14:34
2004.05.02
exel v dbgrid...


1-1081788628
c1
2004-04-12 20:50
2004.05.02
Как сделать чтобы hint над button не исчезал


14-1081361159
Undert
2004-04-07 22:05
2004.05.02
Ааааа.... помогите с регулярным выражением в mod rewrite


6-1078395276
pai
2004-03-04 13:14
2004.05.02
Indy, IdTCPClient.writebuffer