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

Вниз

еще раз про iniФайлы   Найти похожие ветки 

 
~Alice~ ©   (2002-01-07 20:38) [0]

Всем привет! помогите плизз!
тут такое дело имеется листбокс в котором несколько строк все это надо записать в ini файл, делаю так заношу в переменную типа вот так:
s:="";
s:=s+listbox1.items.string[i]+"|";
в ini файле получается запись типа этой
wokfolder=c:\1|c:\2|c:\3|
Вопрос как мне при последующей загрузке формы все это считать обратно в листбокс (вроде как при обнаружении "|" -next).
спасибо заранее


 
3d[Power] ©   (2002-01-07 21:11) [1]

А чем тебе не подходит?:
listbox1.items.savetofile("a.txt");
listbox1.items.loadfromfile("a.txt");


 
~Alice~ ©   (2002-01-07 21:48) [2]

как раз так сейчас и работает но получается много файлов которые в принципе не нужны можно же как то все запихать в ini


 
3d[Power] ©   (2002-01-07 21:57) [3]

Вот супер сырая функция, работоспособность не гарантирую, но если ее не напрягать то работает:

Function strpar(s : string; i: integer) : string;
var z : integer;
delim : integer;
begin
if s = "" then begin result := ""; exit;end;
delim := 0;
if i > 0 then begin
for z := 1 to length(s) do begin
if s[z] = "|" then inc(delim);
if delim = i then begin delim := z+1; break end;
end;
if delim < i then begin result := ""; exit;end;
end else delim := 1;
if delim = 0 then begin result := ""; exit; end;
//showmessage(s[delim]);
for z := delim to length(s) do
if (s[z] = "|") then
begin result := copy(s,delim, z-delim); exit end;
result := copy(s,delim,length(s)-delim+1);
end;


Символ помеченный жирным используется в качестве разделителя.

если у тебя стринг "dear|flower|other"
то strpar("dear|flower|other", 0) выдаст "dear".
то strpar("dear|flower|other", 1) выдаст "flower".


 
~Alice~ ©   (2002-01-07 22:46) [4]

ок спасиб
завтра попробую


 
StelZ ©   (2002-01-08 01:09) [5]

Ну, вообще-то, можно и так (s - строка в ini, x - разделитель):

var
a: string;
begin
for i:=1 to length(s) do
begin
if s[i]=x then
begin
listbox1.Items.add(a);
a:="";
end
else a:=a+s[i];
end;
end;

Вот. Тогда listbox сразу заполняется... Теоретически должно работать :)


 
ValeraVV ©   (2002-01-08 07:06) [6]

Можно использовать свойство ListBox.Items.CommaText, см. help
Lists the strings in the TStrings object in system data format (SDF).

property CommaText: string;

Description

Use CommaText to get or set all the strings in the TStrings object in a single comma-delimited string.

When retrieving CommaText, any string in the list that include spaces, commas or quotes will be contained in double quotes, and any double quotes in a string will be repeated.



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

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

Наверх




Память: 0.48 MB
Время: 0.01 c
6-75638
Di_wind
2001-11-03 14:56
2002.01.24
пережача файлов по сети


1-75543
Dialogig
2002-01-05 16:38
2002.01.24
Помогите !! Что -то я не пойму!


1-75612
Dmitriy_R
2002-01-06 10:55
2002.01.24
Прозьба помогите разобратся где я сделал ошибку с ListView


1-75571
Light Elf
2002-01-04 20:28
2002.01.24
Добавление элемента в PopUP-меню в run-time.


7-75706
Ghost666
2001-10-10 23:03
2002.01.24
Как поменять резкость(чувствительность) крысы в Win 9x