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

Вниз

ini файл   Найти похожие ветки 

 
shaman   (2012-01-23 01:19) [0]

Подскажите, возможно ли в ini файле хранить многострочное значение?


 
Германн ©   (2012-01-23 01:21) [1]

Нет.


 
Самуилыч   (2012-01-23 05:24) [2]

Можно, если применить искусственный прием - заменить разделители строк каким-нибудь спецсимволом (например #7)


 
Dimka Maslov ©   (2012-01-23 09:31) [3]

Можно даже двоичные данные, если применить base64 кодирование


 
RWolf ©   (2012-01-23 09:40) [4]

TStringList.CommaText, как вариант.


 
Anatoly Podgoretsky ©   (2012-01-23 09:42) [5]

> Самуилыч  (23.01.2012 05:24:02)  [2]

Все равно споткнется на длине строке, она очень маленькая. Но решение есть
заменить многострочный однострочным.


 
Германн ©   (2012-01-23 12:11) [6]


> Но решение есть

не использовать ini-файл в целях, для которых он не предназначен.


 
i2e   (2012-01-23 13:36) [7]

Как вариант применения, значения массива записал как строку с разделителями-точками между значениями.

Например, запись:
Str := "1.1.2.55.0.0";
Ini.WriteString ("TabSheet5", "spCheck",  Str);


Для чтения написал такую функцию:

 function SelectNextNmr(Sx:string): integer;
 var cmPos: integer;
 begin
   S1 := Sx;
   cmPos := Pos(".", Sx);            // найти "."
   if cmPos <> 0 then begin
     Delete(S1, 1, cmPos); // удалить от начала до первой "." -> S1 для последующ обработки
     Delete(Sx, cmPos, Length(Sx)); // удалить от первой "." до конца
   end
   else begin // "." не найдена
     if (Length(Sx) > 0) then SelectNextNmr := StrToInt(Sx)
                         else SelectNextNmr := 0;
     S1 := "";
     Exit;
   end;
   SelectNextNmr := StrToInt(Sx);
 end;


Чтение:

 ...
 S1 := Ini.ReadString ("TabSheet5", "spCheck",  "");
 for N1 := 1 to s2 do spCheck[N1] := SelectNextNmr(S1);


 
RWolf ©   (2012-01-23 13:50) [8]


> [7]

sl:=TStringList.Create;
sl.CommaText:=Ini.ReadString ("TabSheet5", "spCheck", "0,0,0,0,0,0");
for i := 1 to s2 do spCheck[i] := StrToIntDef(sl[i], 0);
sl.Free;



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

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

Наверх




Память: 0.48 MB
Время: 0.01 c
9-1191912113
bioSerg
2007-10-09 10:41
2012.05.27
Возникла проблема с Direct3d на новых карточках ATI x2000


2-1327500695
jacksotnik
2012-01-25 18:11
2012.05.27
Помогите с деструктором


2-1327559321
rusmus
2012-01-26 10:28
2012.05.27
Использование edit1


15-1327350602
Юрий
2012-01-24 00:30
2012.05.27
С днем рождения ! 24 января 2012 вторник


2-1327267176
shaman
2012-01-23 01:19
2012.05.27
ini файл