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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.03.2008, 12:39
MSD MSD вне форума
Прохожий
 
Регистрация: 29.03.2008
Сообщения: 35
Репутация: 10
По умолчанию Подскажите пожалуйста по тексту и МЕМО

Здравствуйте мастера. Задам совсем простой для вас вопросик помогите пожалуйста. Как из текстового файла (который лежит допустим C:\1\1.txt)удалить определенные куски текста? К примеру есть файлик с следующим содержимым:

Машина
Вертолет
Лодка
Иван
Копия
Машина
Вертолет
Лодка
Иван
Копия
Крокодил
Собака
Мышь

нужно чтобы из этого файлика удалились все фрагменты текста которые начинаются от слова КОПИЯ и до слова КОПИЯ. т.е. чтобы осталось только (текст может быть произвольным):

Машина
Вертолет
Лодка
Иван
Крокодил
Собака
Мышь


Потом чтобы изменения в файлике сохранились. Пожалуйста если не сложно напишите пример, я только начинающий, и сам буду думать дня два....). Спасибо.
Ответить с цитированием
  #2  
Старый 29.03.2008, 15:49
Аватар для [MASTER]
[MASTER] [MASTER] вне форума
Прохожий
 
Регистрация: 29.03.2008
Сообщения: 1
Репутация: 10
По умолчанию

Код:
procedure StringCheck;
var
  f:textfile;
  i:integer;
  s:string;
  b:boolean;
  st:array of string;
begin
  AssignFile(f,'1.txt');
  Reset(f);
  b:=true;
  while not(eof(f)) do begin
    readln(f,s);
    if s='Копия' then b:=not(b);
    If b then begin
      If not(s='Копия') then begin
        SetLength(st,(Length(st)+1));
        st[length(st)-1]:=s;
      end;
    end;
  end;
  Rewrite(f);
  for i:=0 to Length(st)-1 do
    writeln(f,st[i]);
  CloseFile(f);
end;

Admin: Пользуемся тегами!

Последний раз редактировалось Admin, 29.03.2008 в 16:37.
Ответить с цитированием
  #3  
Старый 30.03.2008, 08:58
MSD MSD вне форума
Прохожий
 
Регистрация: 29.03.2008
Сообщения: 35
Репутация: 10
По умолчанию

Спасибо огромное....
Ответить с цитированием
  #4  
Старый 30.03.2008, 09:36
MSD MSD вне форума
Прохожий
 
Регистрация: 29.03.2008
Сообщения: 35
Репутация: 10
По умолчанию Еще вопросик

и еще вопросик написал програмку которая складывает все числа в Edit с параметром Tag=1, компилируется нормально, но после того как жмешь кнопочку сложить вылетает с ошибкой....

Project Project1.exe raised exception class EConvertError with message "" is not valid floating point value.

Код HTML:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure CalculateSum(f:TForm; ed:TEdit); procedure ChangeDotToComma(var s:string; pp:integer); begin Delete(s,pp,1); Insert(',',s,pp); end; procedure ChangeCommaToDot(var s:string; pp:integer); begin Delete(s,pp,1); Insert('.',s,pp); end; var i,p:integer; st:string; sum:Real; begin P:=0; sum:=0; for i:=0 to f.ComponentCount-1 do begin if (f.Components[i] is TEdit)and (f.Components[i].Name<>ed.Name)and (f.Components[i].Tag=1) Then begin st:=(f.Components[i] as TEdit).Text; if st<>'' Then p:=pos('.',st); if p<>0 Then ChangeDotToComma(st,p); sum:=sum+StrToFloat(st); st:=FloatToStr(sum); p:=pos(',',st); if p<>0 Then ChangeCommaToDot(st,p); Ed.Text:=st; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin CalculateSum(Form1, Edit5); end; end.

Что не так подскажите, почему ругается?
Ответить с цитированием
  #5  
Старый 30.03.2008, 10:56
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Ну я код не смотрел, но у тебя видимо в каком-то Edit'е пустое значение.
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #6  
Старый 30.03.2008, 14:33
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Цитата:
Сообщение от MSD
и еще вопросик написал програмку которая складывает все числа в Edit с параметром Tag=1, компилируется нормально, но после того как жмешь кнопочку сложить вылетает с ошибкой....

Project Project1.exe raised exception class EConvertError with message "" is not valid floating point value.


Что не так подскажите, почему ругается?
Че то уж больно сложно у тебя считается сумма пяти элеменов.
Как я понял на форме может быть любое количестово Edit-ов.
По шагам через F8 пробовал искать ошибки? В каком месте ругается?
Ответить с цитированием
  #7  
Старый 30.03.2008, 15:07
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
Res: Real;
begin
Res:=0;
for i:=1 to 6 do
if TEdit(FindComponent('Edit' + IntToStr(i))).Tag = 1 then
Res:=Res + StrToFloat(TEdit(FindComponent('Edit' + IntToStr(i))).Text);
Label1.Caption:=FloatToStr(Res);
end;
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter