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

Вниз

запись в файл   Найти похожие ветки 

 
гость   (2004-12-07 17:16) [0]

Имеется строка вида 2*3+444*8+37*77+.......
вопрос.
Как найти в строке все * и числа стоящие перед * (2 444 37 и т.д.)записать в файл
1.txt через пробел.


 
Александр Иванов ©   (2004-12-07 17:33) [1]

Примерно так:

try
String:=TStringList.Create;
index:=pos("*", Str);
while index<>0 do
 begin
   if index<>byte(Str[0]) then
      Str:=Copy(Str,index+1,byte(Str[0])-index);
   else Str:="";
   i:=index-1;
   buffer:="";
   Sub := Copy(Str,1,index-1);
   while (i <> 0) or (not Sub[i] in ["0".."9","."]) do
     begin
       buffer:=buffer+Sub[i];
       dec(i);
     end;
   Strings.Add(buffer);
   index:=pos("*", Str);
 end;
Strings.SaveToFile(FileName);
finally
 Strings.Free;
end;


 
begin...end ©   (2004-12-07 19:31) [2]

> гость   (07.12.04 17:16)

uses StrUtils;
var
 S: String;
 I, J: Integer;
begin
 S := "2*3+444*8+37*77+";
 with TStringList.Create do
   try
     Delimiter := "*";
     DelimitedText := S;
     if Count > 0 then
       Delete(Count - 1);
     for I := 0 to Count - 1 do
       for J := Length(Strings[I]) downto 1 do
         if not (Strings[I][J] in ["0".."9"]) then
         begin
           Strings[I] := RightStr(Strings[I], Length(Strings[I]) - J);
           Break
         end;
     SaveToFile("c:\1.txt")
   finally
     Free
   end
end.



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

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

Наверх




Память: 0.47 MB
Время: 0.047 c
3-1100370184
integer
2004-11-13 21:23
2004.12.19
как получить разницу двух таблиц


8-1095743439
DelphiN!
2004-09-21 09:10
2004.12.19
Компонент для перетикания изображения


3-1100766672
TAN_K
2004-11-18 11:31
2004.12.19
Заполнение данных формы из справочника


1-1101970372
VAV
2004-12-02 09:52
2004.12.19
LMDWeb компоненты


4-1099436174
Nix
2004-11-03 01:56
2004.12.19
Координаты мыши в "чужом" приложении.