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

Вниз

Про СТРОКУ с разделителями   Найти похожие ветки 

 
officeman   (2004-07-05 10:33) [0]

Какая там версия Delphi последняя. ох уж и со счета сбился. решил пока на 6 версии остановится. так как в 7 ничего нового ненашёл. кроме интернет и бд компонентов. наверно плохо искал =)

есть некотороая строка. только мы незнаем заранее сколько будет разделителей. может 5, а может 15.
1111;22222;33333;44444;6666;5555

Нужно читать текстовый файл EOF(f) и разбивать каждую строку на подстроки Perem="1111", потом Perem="22222" и тд.
потом next строка.

в дельфи 5 был strutils.pas... там всё было нормально выложено.
но в 6 версии я ненашёл. и компонентов тоже не встречал. =(
нехотелось бы изобретать колесо. а то так повозку и непридумаем.
Поделитесь своими кодами(решениями).

с Уважением, Officeman


 
Семен Сорокин ©   (2004-07-05 10:40) [1]

Pos
TStringList.CommaText
F1


 
Amoeba ©   (2004-07-05 11:38) [2]

Скачай библиотеку QStrings (содержит массу ф-ий и процедур для работы со строками)
http://swiss.torry.net/vcl/vcltools/text/adqstrings.zip
и используй ц-ию Q_StrTok1
Это именно то, что тебе нужно.


 
panov ©   (2004-07-05 12:02) [3]

procedure ParseString(const s: String;var List: TStringList);
var
 i,bPos,Counter: Integer;
begin
 List.Clear;
 if s="" then Exit;
 bPos := 1;
 for i := 1 to Length(s) do
 begin
   if s[i]=";" then
   begin
     List.Add(Trim(Copy(s,bPos,i-bPos)));
     Inc(Counter);
     bPos := i+1;
   end;
 end;
 List.Add(Trim(Copy(s,bPos,Length(s)-bPos+1)));
end;

function GetField(const s: String;const NumField: Integer): String;
var
 i,bPos,Counter: Integer;
begin
 Result := "";
 if s="" then Exit;
 if NumField<=0 then Exit;
 Counter := 1;
 bPos := 1;
 for i := 1 to Length(s) do
 begin
   if s[i]=";" then
   begin
     if Counter=NumField then
     begin
       Result := Trim(Copy(s,bPos,i-bPos));
       Exit;
     end;
     Inc(Counter);
     bPos := i+1;
   end;
 end;
 if Counter=NumField then Result := Trim(Copy(s,bPos,Length(s)-bPos+1));
end;


 
officeman   (2004-07-05 12:15) [4]

Благодарю!

p.s. давно я не посещал любимый форум http://delphimaster.ru/
т.к. программирую сейчас под 1С.бухгалтерию. Прошло уже более полугода. а Мастера ДЕЛЬФИ не перевелись ещё! ЕСТЬ СИЛА! =))



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

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

Наверх




Память: 0.48 MB
Время: 0.048 c
3-1087551415
Stupid
2004-06-18 13:36
2004.07.18
Kak в TQuery програмно добавить поле (вычислимое)?


14-1088451911
Knight
2004-06-28 23:45
2004.07.18
Какие тетрисы вы встречали?


14-1088583423
AlexG
2004-06-30 12:17
2004.07.18
Символ "а" с двумя точками сверху в HTML


1-1088342119
Ani
2004-06-27 17:15
2004.07.18
QuickReport.Preview не работает :(


9-1080631713
Michael Makushev
2004-03-30 11:28
2004.07.18
GLScene - is dead?