Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.05.2011, 19:03
YurIbr89 YurIbr89 вне форума
Прохожий
 
Регистрация: 05.05.2011
Сообщения: 8
Репутация: 10
По умолчанию Запись и удаление строк

1. Удалить первые строки из обоих файлов.
2. Писать строку в конец одного файла из двух.

В Memo1 пишет 'Строки удалены', один раз. В Memo2 никаких изменений.
В самих файлах соответственно новых строк не появляется.
В чём ошибка?

Код:
procedure TMyThread1.Execute;
 begin
 CriticalSection.Enter;
   while not Terminated do
     Synchronize(Work1);
 CriticalSection.Leave;
 end;
Код:
procedure TMyThread1.Work1;
 begin
 f:=TStringList.Create();
 p:=TStringList.Create();
 f.LoadFromFile('myFile1.htm');
 p.LoadFromFile('myFile2.htm');
 if (f.Count>0) and (p.Count>0) then
  begin
  f.Delete(0);
  p.Delete(0);
  end;
 f.SaveToFile('myFile1.htm');
 p.SaveToFile('myFile2.htm');
 f.Free;
 p.Free;
 Form1.Memo1.Text:='Строки удалены';
 end;
Код:
procedure TMyThread2.Execute;
 begin
 CriticalSection.Enter;
   while not Terminated do
    Synchronize(Work2);
 CriticalSection.Leave;
 end;
Код:
procedure TMyThread2.Work2;
 var
 l:string;
 o:byte;
begin
 f:=TStringList.Create();
    Randomize;
If Random(20) > 10 Then  l:='myFile1.htm' Else l:='myFile2.htm';
      f.LoadFromFile(l);
      f.Append('Новая строка');
      f.SaveToFile(l);
      f.Free;
      Form1.Memo2.Text:='Добавленная строка №'+inttostr(o);
 end;
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  CriticalSection:=TCriticalSection.Create;
  MyThread1 := TMyThread1.Create(True);
  MyThread1.FreeOnTerminate := True;
  MyThread1.Priority := tpIdle;
  MyThread1.Resume;

  MyThread2 := TMyThread2.Create(True);
  MyThread2.FreeOnTerminate := True;
  MyThread2.Priority := tpIdle;
  MyThread2.Resume;
end;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:52.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025