Форум: "Основная";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];
ВнизУ меня проблемы с FileIni, работаю в 2000, создал файл ini в Найти похожие ветки
← →
ossa (2003-08-25 09:28) [0]блокноте-Filecoping.txt
[StrSection1]
StrRun1=c:\a1
[StrSection2]
StrRun2=c:\a2
и пересохранил в фаре, получил Filecoping.ini
затем в проге обращаюсь к ней.
procedure TForm1.FormCreate(Sender: TObject);
var FileIning:TIniFile;
FileBuf1:TStrings;
FileBuf2:Tstrings;
begin
If FileExists("Filecoping.ini") then
Begin
FileIning:=TIniFile.Create("Filecoping.ini");
FileIning.ReadSectionValues("StrSection1",FileBuf1);
FileIning.ReadSectionValues("StrSection2",FileBuf2);
FileIning.Free;
StaticText1:=string(FileBuf1);
StaticText2:=string(FileBuf2);
Edit1.Text:=StaticText1;
/////////////////////////////////////////////////////
//StaticText1 описан как const
//uses Windows, Messages, SysUtils, Classes, Graphics,
//Controls, Forms, Dialogs,StdCtrls,Menus,FileCtrl,IniFiles;
//const StaticText1:string="";
// StaticText2:string="";
////////////////////////////////////////////////////
Edit2.Text:=StaticText2;
end;
end;
компилируеться нормально, но при прогоне проги на строке
FileIning.ReadSectionValues("StrSection1",FileBuf1);
вытаскиает дебагер и выдает ошибку : обращение по адресу 0000
Filecoping.ini лежит тамже где и ехе-файл.
Помогите пожалуйста разобраться.
← →
Bel (2003-08-25 09:33) [1]А объекты TStrings (FileBuf1 и FileBuf2) создавать кто будет?
← →
ossa (2003-08-25 09:42) [2]var FileIning:TIniFile;
FileBuf1:TStrings;
FileBuf2:Tstrings;
begin
FileBuf1.Create;//ошибка по адр.0000
FileBuf1.Create;
If FileExists("Filecoping.ini") then
Begin
FileIning:=TIniFile.Create("Filecoping.ini");
FileIning.ReadSectionValues("StrSection1",FileBuf1);
FileIning.ReadSectionValues("StrSection2",FileBuf2);
← →
Song (2003-08-25 09:43) [3]2ossa (25.08.03 09:42) [2]
И что? Ты думаешь, что если ты описал переменные, значит ты их создал? :)
← →
Bel (2003-08-25 09:49) [4]> FileBuf1.Create;//ошибка по адр.0000
FileBuf1 := TStrings.Create;
← →
ossa (2003-08-25 09:51) [5]помогите, не могу понять
делал
FileBuf1.Create;
и
FileBuf1:="";
и
FileBuf1.Text:="";
не получаеться, не знаю как создать объекты :(
← →
Song (2003-08-25 09:51) [6]FileBuf1:=TStringList.Create
← →
ossa (2003-08-25 10:13) [7]можно еще узнать
FileIning.ReadSectionValues("StrSection1",FileBuf1);
в FileBuf1 нужно получить c:\a1 из ини-файла
я делаю так
StaticText1:=string(FileBuf1.Text);
получаю
StrRun1=C:\a1||
помогите как корректно прочитать с ини файла
← →
Bel (2003-08-25 10:20) [8]Может, имеет смысл использовать ReadString вместо чтения всей секции.
← →
ossa (2003-08-25 10:26) [9]Помогите пожалуйста, я как раз и хочу методом
FileIning.ReadSectionValues("StrSection1",FileBuf1);
получить не всю секцию, а только значение
в книге написано что, используя ReadSectionValues можно во втором парамметре получить значение
← →
ossa (2003-08-25 11:51) [10]Все разобрал
begin
FileBuf1:=TStringList.Create;
FileBuf2:=TStringList.Create;
If FileExists("Filecoping.ini") then
Begin
FileIning:=TIniFile.Create("Filecoping.ini");
FileIning.ReadSectionValues("StrSection1",FileBuf1);
FileIning.ReadSectionValues("StrSection2",FileBuf2);
FileIning.Free;
StaticText1:=string(FileBuf1. Values["StrRun1"]);
StaticText2:=string(FileBuf2. Values["StrRun2"]);
Edit1.Text:=StaticText1;
Edit2.Text:=StaticText2;
end;
← →
snake1977 (2003-08-25 11:55) [11]Вот твоя процедура
procedure TForm1.FormCreate(Sender: TObject);
var FileIning:TIniFile;
FileBuf1:TStringList;
FileBuf2:TstringList;
begin
FileBuf1:=TStringList.Create;
FileBuf2:=TStringList.Create;
If FileExists(ExtractFilePath(ParamStr(0)+"Filecoping.ini") then
Begin
FileIning:=TIniFile.Create(ExtractFilePath(ParamStr(0)+"Filecoping.ini ");
FileIning.ReadSectionValues("StrSection1",FileBuf1);
FileIning.ReadSectionValues("StrSection2",FileBuf2);
FileIning.Free;
все что ниже убирается!!!!!
->> StaticText1:=string(FileBuf1);
->> StaticText2:=string(FileBuf2);
->> Edit1.Text:=StaticText1;
->> /////////////////////////////////////////////////////
->> //StaticText1 описан как const
->> //uses Windows, Messages, SysUtils, Classes, Graphics,
->> //Controls, Forms, Dialogs,StdCtrls,Menus,FileCtrl,IniFiles;
->> //const StaticText1:string="";
->> // StaticText2:string="";
->> ////////////////////////////////////////////////////
->> Edit2.Text:=StaticText2;
и вставляется следующее :)
Edit1.Text:=FileBuf1.Text;
Edit2.Text:=FileBuf2.Text;
хотя если ты ис пользуеш иники, то тогда зачем его в текст преобразовывать???
вероятнее надо было бы так :
Edit1.Text:=FileBuf1.Values["название первого параметра"];
end;
end;
← →
ossa (2003-08-25 12:20) [12]спасибо за ответ
еще вопрос
Edit2.Text:=c:\a1
FileIning:=TIniFile.Create("Filecoping.ini");
FileIning. WriteString("StrSection2","StrRun2",Edit2.Text);
записывает в файл-ини следующее
[StrSection2]
StrRun2=c:\a1
у меня не записывает, неправильно применил ф-ю или все верно написал
← →
ossa (2003-08-25 12:47) [13]спасибо разобрал
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.015 c