Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
14-1088351561
DillerXX
2004-06-27 19:52
2004.07.18
Внимание внимание!! Важное заявление :)


4-1086505286
Yustas
2004-06-06 11:01
2004.07.18
Работает ли приложение


4-1086445997
AndersoNRules
2004-06-05 18:33
2004.07.18
Analog <winnt.h>


1-1089094638
ИМХО
2004-07-06 10:17
2004.07.18
TDOMDocument


4-1086366053
Боян Георгиев
2004-06-04 20:20
2004.07.18
Mouse click emulation?




   Наверх