/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Errror & INI
Fra : Henning Madsen


Dato : 15-03-04 23:15

Følgende procedure giver mig hovedbrud er der en del vel hjælpe mig ??


procedure TForm1.GemRegnskabSomClick(Sender: TObject);
Var
Aar : TIniFile;
X, Y : Integer;
begin
if SaveDialog.Execute then Begin //Dialogboksen åbnes
if FileExists(SaveDialog.FileName) then
if MessageDlg(Format('Må %s overskrives?',
[SaveDialog.FileName]), mtConfirmation, mbYesNoCancel, 0) <> idYes then
Exit;

Aar :=
TIniFile.Create(ExtractFilePath(ParamStr(0))+'\'+SaveDialog.FileName+'.Ini')
;

Aar.WriteString(SaveDialog.FileName,'Linier',IntToStr(XStringGrid.RowCount))
;

For X := 0 to 25 do Begin
For Y := 1 to XStringGrid.RowCount -1 do Begin

Aar.WriteString('Data',IntToStr(X)+'-'+IntToStr(Y),XstringGrid.Cells[X,Y]);
end;
end;
Aar.Free;
end;
end;

Når programmet køres kommer følgende error
Project Regninger.exe raised exception class exception with message
'Unable to write to D:\Egne DELPHI Programmer\
Regninger\\D:\Egne DELPHI Programmer\Regninger\
2002.Ini.Ini'.Process stopped.

Har prøvet at fjerne .INI i linie 10 i programmet, samme fejl kommer men dog
kun med et .INI.
Noget må jeg gøre galt men hvad ??

Tillægsspørsmål
I en INI fil som ser nogenlunde sådan ud
2000.INI
[Farver]
...........
...........
[2000]
[Data]
..........
.........
Hvordan kan jeg delete afsnittet [Farver] eller kopierer alt undtagen
afsnittet Farver ??
Er kørt helt fast så en løsning vel være dejligt.
På forhånd tak
MVH
Henning



 
 
Harald (15-03-2004)
Kommentar
Fra : Harald


Dato : 15-03-04 23:46

"Henning Madsen" <HKM@madsen.tdcadsl.dk> skrev i en meddelelse
news:40562b03$0$248$edfadb0f@dread12.news.tele.dk...
> Følgende procedure giver mig hovedbrud er der en del vel hjælpe mig ??
>
>
> procedure TForm1.GemRegnskabSomClick(Sender: TObject);
> Var
> Aar : TIniFile;
> X, Y : Integer;
> begin
> if SaveDialog.Execute then Begin //Dialogboksen åbnes
> if FileExists(SaveDialog.FileName) then
> if MessageDlg(Format('Må %s overskrives?',
> [SaveDialog.FileName]), mtConfirmation, mbYesNoCancel, 0) <> idYes then
> Exit;
>
> Aar :=
>
TIniFile.Create(ExtractFilePath(ParamStr(0))+'\'+SaveDialog.FileName+'.Ini')
> ;
>
>
Aar.WriteString(SaveDialog.FileName,'Linier',IntToStr(XStringGrid.RowCount))
> ;
>
> For X := 0 to 25 do Begin
> For Y := 1 to XStringGrid.RowCount -1 do Begin
>
>
Aar.WriteString('Data',IntToStr(X)+'-'+IntToStr(Y),XstringGrid.Cells[X,Y]);
> end;
> end;
> Aar.Free;
> end;
> end;
>
> Når programmet køres kommer følgende error
> Project Regninger.exe raised exception class exception with message
> 'Unable to write to D:\Egne DELPHI Programmer\
> Regninger\\D:\Egne DELPHI Programmer\Regninger\
> 2002.Ini.Ini'.Process stopped.
>
> Har prøvet at fjerne .INI i linie 10 i programmet, samme fejl kommer men
dog
> kun med et .INI.
> Noget må jeg gøre galt men hvad ??

Prøv med:
Aar
:=TIniFile.Create(ExtractFilePath(ParamStr(0))+ExtractFileName(SaveDialog.Fi
leName));



> Tillægsspørsmål
> I en INI fil som ser nogenlunde sådan ud
> 2000.INI
> [Farver]
> ..........
> ..........
> [2000]
> [Data]
> .........
> ........
> Hvordan kan jeg delete afsnittet [Farver] eller kopierer alt undtagen
> afsnittet Farver ??
> Er kørt helt fast så en løsning vel være dejligt.
> På forhånd tak

For at slette afsnittet farver:
Inifile.EraseSection('Farver');

For at kopiere alt undtagen Farver til en anden ini fil kan du:
Indlæse den gamle ini i en TMemIniFile
Slette det afsnit der ikke skal med med EraseSection
Brug TMemIniFile´s GetStrings til at kopiere alt over i en TStringList
Brug TStringList´s SaveToFile til at gemme alt i en ny ini fil

Der er sikkert en meget mere enkelt måde at gøre det på.

Mvh
HK



Henning Madsen (16-03-2004)
Kommentar
Fra : Henning Madsen


Dato : 16-03-04 15:06


"Harald" <news10@-REMOVE-THIS-kroning.dk> skrev i en meddelelse
news:4056321b$0$275$edfadb0f@dread12.news.tele.dk...
> "Henning Madsen" <HKM@madsen.tdcadsl.dk> skrev i en meddelelse
> news:40562b03$0$248$edfadb0f@dread12.news.tele.dk...
> > Følgende procedure giver mig hovedbrud er der en del vel hjælpe mig ??
> >
> >
> > procedure TForm1.GemRegnskabSomClick(Sender: TObject);
> > Var
> > Aar : TIniFile;
> > X, Y : Integer;
> > begin
> > if SaveDialog.Execute then Begin //Dialogboksen åbnes
> > if FileExists(SaveDialog.FileName) then
> > if MessageDlg(Format('Må %s overskrives?',
> > [SaveDialog.FileName]), mtConfirmation, mbYesNoCancel, 0) <> idYes
then
> > Exit;
> >
> > Aar :=
> >
>
TIniFile.Create(ExtractFilePath(ParamStr(0))+'\'+SaveDialog.FileName+'.Ini')
> > ;
> >
> >
>
Aar.WriteString(SaveDialog.FileName,'Linier',IntToStr(XStringGrid.RowCount))
> > ;
> >
> > For X := 0 to 25 do Begin
> > For Y := 1 to XStringGrid.RowCount -1 do Begin
> >
> >
>
Aar.WriteString('Data',IntToStr(X)+'-'+IntToStr(Y),XstringGrid.Cells[X,Y]);
> > end;
> > end;
> > Aar.Free;
> > end;
> > end;
> >
> > Når programmet køres kommer følgende error
> > Project Regninger.exe raised exception class exception with message
> > 'Unable to write to D:\Egne DELPHI Programmer\
> > Regninger\\D:\Egne DELPHI Programmer\Regninger\
> > 2002.Ini.Ini'.Process stopped.
> >
> > Har prøvet at fjerne .INI i linie 10 i programmet, samme fejl kommer men
> dog
> > kun med et .INI.
> > Noget må jeg gøre galt men hvad ??
>
> Prøv med:
> Aar
>
:=TIniFile.Create(ExtractFilePath(ParamStr(0))+ExtractFileName(SaveDialog.Fi
> leName));
>
>
>
> > Tillægsspørsmål
> > I en INI fil som ser nogenlunde sådan ud
> > 2000.INI
> > [Farver]
> > ..........
> > ..........
> > [2000]
> > [Data]
> > .........
> > ........
> > Hvordan kan jeg delete afsnittet [Farver] eller kopierer alt undtagen
> > afsnittet Farver ??
> > Er kørt helt fast så en løsning vel være dejligt.
> > På forhånd tak
>
> For at slette afsnittet farver:
> Inifile.EraseSection('Farver');
>
> For at kopiere alt undtagen Farver til en anden ini fil kan du:
> Indlæse den gamle ini i en TMemIniFile
> Slette det afsnit der ikke skal med med EraseSection
> Brug TMemIniFile´s GetStrings til at kopiere alt over i en TStringList
> Brug TStringList´s SaveToFile til at gemme alt i en ny ini fil
>
> Der er sikkert en meget mere enkelt måde at gøre det på.
>
> Mvh
> HK
> Tak for hurtigt og rigtigt svar, Harald nu kan jeg komme videre.
Mvh
Henning
>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste