Avatar billede emingos Nybegynder
08. august 2002 - 00:10 Der er 18 kommentarer og
1 løsning

skriv op til flere ting i en ini fil

hejsa

jeg har følgene kode til at gemme i en ini fil fra en form

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, inifiles;

type
  TForm2 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation
var  MinIni: TIniFile;
{$R *.DFM}

procedure TForm2.FormCreate(Sender: TObject);
  var
  edit1text : String;
begin
  MinIni := TIniFile.Create(GetCurrentDir+'\inifil.ini'); //den laver ini filen i programmets dir
  edit1text  := MinINI.ReadString('edit1', 'text' , 'C:\mirc\mirc.exe'); //hvis der ik er nogen inifil så er stien C:\mirc\mirc.exe
    MinIni.Free;
  edit1.text := edit1text;

end;

procedure TForm2.FormDestroy(Sender: TObject);
begin
  MinIni := TIniFile.Create(GetCurrentDir+'\inifil.ini');
  MinIni.WriteString('edit1', 'text', edit1.text);
  MinIni.Free;
end;

end.

// men her kommer problemmet så når jeg prøver på at gøre det samme i en ny form..

altså jeg vil fks. ku skrive navn,alder og nogle andre
men jeg forstår ik lige måden at skrive i den ini fil.. jeg laver det helt om og ændre formnavne osv.. men den vil bare ikke.. er der en spiciel måde eller noget andet jeg ska tage hensyn til??

gode råd osv er velkomne :)

*host*(delphi nybegynder)*host*
Avatar billede stoney Nybegynder
08. august 2002 - 08:33 #1
Hvad er problemet ?
Får du en fejl ?

Stoney
Avatar billede emingos Nybegynder
08. august 2002 - 13:25 #2
jepper hvis jeg laver en form som den der.. laver den fejl.. hvis jeg ændre navnene laver den felj.. jeg kan faktisk ik lave en form til med editbot i ... som ska skrive i den ini.. uden den laver fejl
Avatar billede dkn Nybegynder
08. august 2002 - 13:30 #3
Ved ikke hvor du har din function GetCurrentDir, men hvis den er i en form som ikke er lavet endnu, giver det et problem.
Avatar billede cadamsen Nybegynder
08. august 2002 - 16:06 #4
Her er en metode til at skrive flere informationer (navn, alder mm.) til en person med en inifil, og hente dem igen.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IniFiles;

type
  TForm1 = class(TForm)
    Name: TEdit;
    Addr: TEdit;
    PostNr: TEdit;
    Year: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  MinIni: TIniFile;
  Nametext,addrText, PostText, YearText : String;
begin
    MinIni := TIniFile.Create('inifil.ini'); //den laver ini filen i programmets dir
    Nametext  := MinINI.ReadString('Person1', 'Name' , 'No Name');
    Addrtext  := MinINI.ReadString('Person1', 'Address' , 'No Address');
    Posttext  := MinINI.ReadString('Person1', 'PostNo' , 'No PostNo.');
    Yeartext  := MinINI.ReadString('Person1', 'Year' , 'No Year');
    MinIni.Free;
    Name.text := Nametext;
    Addr.Text := AddrText;
    Postnr.Text := PostText;
    Year.Text := YearText;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
  MinIni: TIniFile;
  Nametext,addrText, PostText, YearText : String;
begin
    MinIni := TIniFile.Create('inifil.ini'); //den laver ini filen i programmets dir
    MinIni.WriteString('Person1', 'Name', name.text);
    MinIni.WriteString('Person1', 'Address', addr.text);
    MinIni.WriteString('Person1', 'PostNo', Postnr.text);
    MinIni.WriteString('Person1', 'Year', Year.text);
    MinIni.Free;
end;
end.

Det er lavet på samme måde som, du selv har gjort det, så det kan godt være at jeg ikke helt forstå dit problem.
Giver det stadigvæk problemmer, kan du prøve at forklar hvad det er du vil lidt bedre.

mvh

Claus
Avatar billede emingos Nybegynder
08. august 2002 - 17:15 #5
ahhh og det kan jeg så bryge hvis jeg har flere editboxe? :)

fedt det må jeg prøve vender lige tilbage..
Avatar billede emingos Nybegynder
08. august 2002 - 17:15 #6
bruge,..
Avatar billede hermandsen Juniormester
08. august 2002 - 17:44 #7
>>emingos
Hvis nu "CurrentDir" ændrer sig, så kan ExtractFilePath(Application.ExeName) være en god løsning! ;)

Ellers må jeg nok indrømme at jeg ikke helt kan se dit problem... :/
Avatar billede emingos Nybegynder
08. august 2002 - 17:51 #8
hmm .. nej men jeg ved dårligt hvad mit problem er.. den vil bare ikke kompilere exe filen når jeg trykker F9 er ret i delphi .. men jeg prøver lige det i har skrevet..
Avatar billede emingos Nybegynder
08. august 2002 - 17:52 #9
er ret ny i delphi sku der stå.. ka ik stave idag
Avatar billede hermandsen Juniormester
08. august 2002 - 17:57 #10
Hvad fortæller den dig når du kompilerer?
Vil den bare ikke kompilere eller får du fejlmeddelser?
Avatar billede hermandsen Juniormester
08. august 2002 - 18:01 #11
Jeg tror du er kommet til at oprette en ny form i stedet for en ny applikation (program). En form i sig selv (med kode) kan ikke kompileres... Det er kun et program der kan det...

Vælg File->Close all
Vælg bagefter File->New Application

Og brug jævnligt Ctrl+S, Ctrl+F9 kombinationen til at finde ud af om der er fejl i koden! ;)
Avatar billede emingos Nybegynder
08. august 2002 - 19:28 #12
ja det er rigtigt jeg bruger en ny form.. men ska jeg så lave en ny app vergang jeg ska lave en ny edit box til at skrive info i??..

nej vel

nå men jeg må prøve mig lidt frem så :)
Avatar billede hermandsen Juniormester
08. august 2002 - 19:35 #13
Hvad mener du?!?

En form kan ikke laves til et program, det kan et program der i mod...

Hvis du skal lave et nyt program, så skal du vælge New Application.

Er det bare fordi du har flere forme i samme projekt, så skal du bruge Form2.Edit1.Text := 'Daaaaaaavs!'...
Avatar billede emingos Nybegynder
08. august 2002 - 23:04 #14
Hvad mener du?!?

En form kan ikke laves til et program, det kan et program der i mod...

Hvis du skal lave et nyt program, så skal du vælge New Application.

--

jeg fatter ik hvad du snakker om , og det samme gør du åbenbart

Er det bare fordi du har flere forme i samme projekt, så skal du bruge Form2.Edit1.Text := 'Daaaaaaavs!'...

nej.. fordi jeg ska bruge info fra flere edit bocxe som er i forskellige forms.

"Jeg tror du er kommet til at oprette en ny form i stedet for en ny applikation (program). En form i sig selv (med kode) kan ikke kompileres... Det er kun et program der kan det..."

hrmm.. du modsiger da dig selv lidt der??

prøv at uddybe dig lidt tydeligere .. så man kan forstå det..

jeg finder selv ud af det

ellers tak..
Avatar billede hermandsen Juniormester
08. august 2002 - 23:30 #15
>>emingos
Øhhh, jeg har lige uddybet det så man kan forstå det!!!

Du skal lære at kende forskel på en form i Delphi og et program i Delphi... Lukker du alle åbne projekter og vælger New Form, så får du en tom form som ligner starten på et program... Du kan endda lægge komponenter på den og skrive kode som tilhører disse komponenter, du kan bare ikke kompilere det fordi det ikke er et program, men bare en form.

Jeg troede at det var dit problem, hvilket det så sandsynligvis ikke var... Det kunne jeg jo ikke vide da jeg hverken kan se hvad der sker på din skærm og så er jeg heller ikke tankelæser! :)

Du skriver også at jeg modsiger mig selv... Nej... Læs det jeg lige har skrevet, så tror jeg du vil forstå... Jeg tror faktisk nærmere det er dig der modsiger dig selv... Jeg spørger først om du har flere forme i samme projekt, det siger du nej til. Derefter skriver du dog at du "ska bruge info fra flere edit bocxe som er i forskellige forms". Øhhh, hvis der er forskellige forms, så er der jo også mere end en, ik' Einstein! ;)

Til sidst så vil jeg lige kommentere din første kommentar som jeg ikke helt forstår...
"jeg fatter ik hvad du snakker om , og det samme gør du åbenbart"
Mener du at du ikke fatter hvad jeg snakker om, og at jeg heller ikke selv ved hvad jeg snakker om, eller mener du at du ikke ved hvad jeg snakker om, men at jeg godt selv ved hvad jeg snakker om?

Jeg opfatter lidt at du mener det første, så det vælger jeg at kommentere...

Jeg har haft ca. 2 års Delphi-erfaring nu... Det er ikke meget, men jeg knokler/leger for det meste dagligt med det, og mener selv at jeg har fået en del erfaring med udvikling af Delphi-applikationer (se også antallet af besvarede spørgsmål her på Eksperten)... Hvis du ikke ved hvad jeg snakker om, hvem er det så der mangler hjælp? Jeg skal gerne hjælpe, men du mener åbenbart at du selv kan finde ud af det... Hmmm... Du kender ikke forskel på en form og en applikation, hvor godt synes du egentlig selv det går?

Jeg synes ikke at sådanne diskusioner skal fremgå i et offentlig rum, så hvis du vil kommentere yderligere, så kan du kontakte mig over ICQ, MSN eller mail...

ICQ: 43950538
MSN: hermandsen@hotmail.com
Mail: hermandsen@softhome.net
Avatar billede emingos Nybegynder
08. august 2002 - 23:48 #16
"Du skal lære at kende forskel på en form i Delphi og et program i Delphi... Lukker du alle åbne projekter og vælger New Form, så får du en tom form som ligner starten på et program... Du kan endda lægge komponenter på den og skrive kode som tilhører disse komponenter, du kan bare ikke kompilere det fordi det ikke er et program, men bare en form.

Jeg troede at det var dit problem, hvilket det så sandsynligvis ikke var... Det kunne jeg jo ikke vide da jeg hverken kan se hvad der sker på din skærm og så er jeg heller ikke tankelæser! :)
"

oki læs her : jeg har 2 edit boxe .. i en form ver.. det virker med en enkelt men ik med 2..

som jeg skrev længere oppe..

"Hmmm... Du kender ikke forskel på en form og en applikation, hvor godt synes du egentlig selv det går?"

hrmm hvordan kan du udtale dig på mine vejne??


men af alle de spørgsmål du har besvaret.. "hvor godt synes du egentlig selv det går?"

jeg gider faktisk ik bruge mere tid på det her.. jeg har fundet problemmet og det var ikke med din hjælp..

derfor du ingen points fik..

sov godt
Avatar billede hermandsen Juniormester
09. august 2002 - 00:07 #17
Du kan fortsætte din halvbarnlige opførsel på ovenstående ICQ/MSN/Mail...
Avatar billede emingos Nybegynder
09. august 2002 - 00:21 #18
"halvbarnlige" det er jo op til den enkle..
men jeg synes ikke din opførsel er bedre??

men jeg har fået løst problemmet.. så hvorfor bliver du ved med at skrive? .. ok.. så sov godt
Avatar billede hermandsen Juniormester
11. august 2002 - 23:42 #19
>>emingos
Jeg ville egentlig bare sige nogle venlig ord til dig på ICQ, men skidt nu med det...

Måske har jeg overreageret lidt mens jeg skrev nogle af de indlæg og det vil jeg da gerne tage på mig. Det var alligevel lidt sent! ;)

Jeg ønsker absolut ingen fjender her på Eksperten, derfor synes jeg vi skal begrave stridsøksen og kalde det lidt af en misforståelse... Du fik løst dit problem og det er i bund og grund hvad det hele går ud på...

Håber vi kan nå til enighed! :)

//hermandsen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester