Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.093 c
1-10778
Spawn
2003-08-23 09:19
2003.09.04
Word


1-10718
andruxa
2003-08-20 14:35
2003.09.04
Помогите оптимизировать код.


14-10913
Kost
2003-08-18 07:19
2003.09.04
Графика


3-10636
Alik$
2003-07-28 22:33
2003.09.04
DBGrid


1-10816
Zheks
2003-08-21 21:03
2003.09.04
После экзешника





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский