Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

красиво разбить строку


volph777 ©   (2002-10-22 17:50:00) 

есть строка, нада ее разбить на токены разделенные пробелами, дайте красивый пример!


Song   (2002-10-23 10:04:00) [1]

WrapText()


Sectey   (2002-10-23 09:29:00) [2]

Возми библиотеку QStringsтам все писано на асме, работает как самолет быстро,там есть разбиение на токены, выделение конкретного слова в зависемости от его номера и т.д. и т.п. Если интересно могу намылить.


DeadHDD   (2002-10-23 06:55:00) [3]


procedure divstrbyseparator(sep:char;var s1:string;var s2:string;s:string);
var i:integer;
begin
if s="" then exit;
i:=pos(sep,s);
if i<2 then exit;
s1:=s;
s2:=s;
setlength(s1,i-1);
delete(s2,1,i);
end;

Разберёшся?


roadster   (2002-10-23 06:47:00) [4]

Смотри недавнюю дискуссию про Машу, которая сильно болеет туберкулезом :0)))))))))))))


Shrek   (2002-10-22 19:51:00) [5]

в Strings есть функция DecimalText или што вроде, она разбивает текст по пробелам


Znaika   (2002-10-22 19:43:00) [6]

str := "1 2 3 4";
with TStringList.Create do begin
Text := StringReplace(str, #32, #13#10, [rfReplaceAll]);
ShowMessage(Text);
Free;
end;


han_malign   (2002-10-22 18:09:00) [7]

StringList.CommaText:=1;
for i:=0 to StringList.Count-1 do StringList[i]...


han_malign   (2002-10-22 18:09:00) [8]

в смысле :=a;//а не 1


Игорь Шевченко   (2002-10-22 18:08:00) [9]

В UBPFD в разделе Работа со строками есть функция StrBreakApart - вот она и делает то, что надо


volph777   (2002-10-22 18:05:00) [10]

ой как много, ну мне нада вот
есть строка
a := "1 2";

а в результате получить 1 и 2 в двух переменных


Cossys   (2002-10-22 17:59:00) [11]

Главное, сначало выбрать шрифт типа Курьер.
Затем:
procedure TfrMain.Repaint();
var
tmp_acc, tmp, tmp_name : String;
i : Integer; // incriment
begin
try
CheckListBox1.Items.Clear;
With tblTable do
begin
First;
While not EOF do
begin
tmp_acc:=FieldByName("BAL_ACCOUN").AsString;
if Length(tmp_acc)<15 then
begin
while Length(tmp_acc) <> 15 do
tmp_acc:=tmp_acc+" "; // что бы все были одинаковой дл.
end;
tmp_name:=FieldByName("NAME_ACCOU").AsString;
if Length(tmp_name)>14 then
begin
tmp:="";
for i:=1 to 12 do
tmp:=tmp+tmp_name[i];
tmp_name:=tmp+"..";
end;
CheckListBox1.Items.Add(tmp_acc+FieldByName("VAL").AsString+" "+tmp_name);
Next;
end
end
except
...
end;
end;

Если я вас правильно понял


Наверх

Титульная страница Поиск, карта сайта Написать письмо