Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
ВнизИспользовать ini для процедуры сравнения Найти похожие ветки
← →
Garacio © (2007-01-17 16:36) [0]Вопрос очень сложный: я хочу использовать файл .ini для двухкратного изменеия значения переменной. Т.е., в файле .ini, допустим, будет записано:
x1, x2 | y1
z1, z2 | y2
... (где "|" и "," - разделители)
а в коде программы, соответственно:if Peremennaya=(x1 or x2) then Peremennaya:=y1;
if Peremennaya=(z1 or z2) then Peremennaya:=y2;
смысл такой! Как реализовать это по-проще?
← →
Джо © (2007-01-17 16:45) [1]А в чем конкретно затруднение?
← →
novill © (2007-01-17 16:46) [2]Проще всего будет если вы НОРМАЛЬНО запишите в ini файл свои переменные , а не
> x1, x2 | y1
> z1, z2 | y2
тогда и считывать будет просто
← →
Rial © (2007-01-17 17:22) [3]tmpStr:=ReadString(..);
P1:=Pos(",", tmpStr);
P2:=Pos("|", tmpStr);
If (Value = StrToXXX(Copy(tmpStr, 1, P1 - 1)))or
(Value = StrToXXX(Copy(tmpStr, P1 + 1, P2 - P1 - 1))) then
Value:=StrToXXX(Copy(tmpStr, P2 + 1, Length(tmpStr) - P2));
← →
Garacio © (2007-01-18 08:59) [4]Да-а, Rial, разобраться бы ещё в написанном ;-)
← →
novill © (2007-01-18 09:14) [5]> [4] Garacio © (18.01.07 08:59)
поэтому
в ини-файле напиши просто
x1=...
x2=...
y1=...
...
и с помощью readinteger их считывай.
← →
ЮЮ © (2007-01-18 09:46) [6]x1, x2 | y1
z1, z2 | y2
if Peremennaya=(x1 or x2) then Peremennaya:=y1;
if Peremennaya=(z1 or z2) then Peremennaya:=y2;
смысл такой! Как реализовать это по-проще?
Смотря сходу не читается :) У меня, по-крайней мере, возникла пара разных толкований.
Лучше четко изложи мысль, ЧТО должно выполниться, при наличии, а что при отсутствии строки
x1, x2 | y1
и что изменится, если строка будет
x1, x2 | y2
И, наконец, что хотел получить, пытаясь это ревлизовать.
← →
Garacio © (2007-01-18 11:00) [7]Книга продаётся сразу в нескольких томах (x1, x2 - названия томов), но в накладной они записываются, как "y1". Соответственно, для того чтобы проверить наличие "x1" или "x2", мне необходимо проверить по накладной - пришло ли "y1"! (т.е. "x1"="y1" и "x2"="y1") Моя проблема - нельзя присвоить одной переменной "y1" два значения, и я надеюсь решить её с помощью .ini и цикла, в котором перебираются значения. Почему .ini? - "книги" появляются новые, пропадают старые, и менять каждый раз из-за этого код - не выход!
← →
Сергей М. © (2007-01-18 11:05) [8]
> Garacio © (18.01.07 11:00) [7]
Это что за книжный микроларек такой, что весь его товар можно учитывать с помощью ini-файла ?)
Любую подходящую СУБД использовать для этой цели не приходило в голову ?
← →
ЮЮ © (2007-01-18 11:13) [9]
> пропадают старые, и менять каждый раз из-за этого код -
> не выход!
Да уж, бесконечный поддержка приложения :)
Используй ini по полной схеме:
[y1]
1=X1
2=X2
[y2]
1=XX1
2=XX2
3=XX3
← →
Garacio © (2007-01-18 11:28) [10]"Книги"-это для примера, суть - таже!
[y1]
1=X1
2=X2
[y2]
1=XX1
2=XX2
3=XX3
Выглядит красиво! А как работает?
P.S. СУБД не нужна? У меня таких (x1, x2 | y1) строчек будет всего 5-6.
← →
ЮЮ © (2007-01-18 11:30) [11][y1], [y2] - это Section в методах чтения TIniFile. Их список TIniFile тоже дает.
← →
Garacio © (2007-01-18 11:32) [12]Чтож, ЮЮ, спасибо! Буду пытаться!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.053 c