Popsux Skrevet 12. april 2009 Del Skrevet 12. april 2009 (endret) Jeg gjør først oppmerksom på at i illustrasjonen står det TstringList. Jeg mener: TListBox. Jeg har ett spørsmål angående denne illustrasjonen: Når jeg klikker på "Legg til en Tittel"-knappen så legges det til en ny "tittel" i listeboxen. Samtidig så lagres informasjonen ifra "memo1"-feltet i en txt fil som har samme navn som tittelen i tittelboxen. Spørsmålet mitt er følgende: Hvordan kan jeg gjøre slik at når jeg kjører programmet, å klikker på "tittlene" i listeboxen. Så lastes informasjonen i fra txt filen (som har samme navn som tittelen i listeboxen) inn i "memo2" feltet? Som sakt der er 5 komponenter: - TlistBox1 (tittelboxen) - TEdit1 (Der man skriver inn ny tittel) - TButton1 (Der man legger til ny tittel i tittelboxen og samtidig lagrer en txt fil med informasjon i fra memo1). - TMemo1 (Der man skriver inn ny informasjon som lagres i en txt fil) - TMemo2 (Der jeg vil at informasjonen i fra txt filene vises ettersom man klikker på tittlene i TListBox1). Håper noen skjønner hva jeg mener og at illustasjonen gjør det enklere å forstå. Også håper jeg noen vet hvordan jeg kan gjøre dette. Takker for alle innlegg Endret 12. april 2009 av Popsux Lenke til kommentar
sinnaelgen Skrevet 13. april 2009 Del Skrevet 13. april 2009 bruk funksjonen memo1.Lines.SaveToFile(); - for å lagre memo2.Lines.LoadFromFile();- for lese inn filen innenfor parantesene har du det hel filnavnet med sti og det hele: 'c:\sti\sti2\filnavn.tx' dette må du tilpasse bruket dit Lenke til kommentar
Popsux Skrevet 13. april 2009 Forfatter Del Skrevet 13. april 2009 bruk funksjonen memo1.Lines.SaveToFile(); - for å lagre memo2.Lines.LoadFromFile();- for lese inn filen innenfor parantesene har du det hel filnavnet med sti og det hele: 'c:\sti\sti2\filnavn.tx' dette må du tilpasse bruket dit Ok. Takker for infoen elg-elg123 Skal prøve dette nå. Lenke til kommentar
Popsux Skrevet 13. april 2009 Forfatter Del Skrevet 13. april 2009 (endret) Dette funket gradvis! Programmet leste bare den siste "tittelen" som ble lagt til. Men jeg laget et "drag en drop" felt,m slik at man kunne drege hver ListBox.Items til et felt for å lese hvilken som helst fil *happy*.. tok meg litt tid å justere å finne ut av det. Men fikk ihvertfall dette til å fungere (ps. Bildet er et "falsk" konsept av hva jeg egentlig lager). Men funker i allefall nå! Endret 13. april 2009 av Popsux Lenke til kommentar
Popsux Skrevet 13. april 2009 Forfatter Del Skrevet 13. april 2009 Dette funket gradvis! Programmet leste bare den siste "tittelen" som ble lagt til. Men jeg laget et "drag en drop" felt,m slik at man kunne drege hver ListBox.Items til et felt for å lese hvilken som helst fil *happy*.. tok meg litt tid å justere å finne ut av det. Men fikk ihvertfall dette til å fungere (ps. Bildet er et "falsk" konsept av hva jeg egentlig lager). Men funker i allefall nå! Lenke til kommentar
sinnaelgen Skrevet 13. april 2009 Del Skrevet 13. april 2009 jeg viste at jeg hadde gjort noe lignede før i et eller annet program. det var barre å finne det . noe som tok litt tid . nå måte jeg også tilpasse det lit slik at det ble letter for deg å forstå eksemplene . procedure TForm7.Button7Click(Sender: TObject); VAR F:TextFile; S:STRING; slutt:boolean; begin slutt:=false; IF OPENDIALOG1.Execute THEN BEGIN AssignFile(F, OPENDIALOG1.FileName); // opretter kontakt med fil Reset(F); // opner filen - bruk rewrite(f) for å opprette ny fil på disken memo1.Clear; REPEAT Readln(F, S); // leser data writeln(f,s) skriver til filen if eof(f) then slutt:=true; // eof brukes bare når det leses fra filen memo1.lines.Add(S); // legger inn en linje i momo feltet - bruk "s:=memo1.Lines[L];" for å lese fra et memofelt. "L" er en variabel som for teller programmet hvilken linje i memofeltet som det skal leses fra UNTIL slutt;; CloseFile(F); // lukker filen END; end; forå lese av alle linjene i memofelt så bruker men en variabel eks: for L := 0 to memo1.lines.count-1 do begin s:=memo1.lines[L]; end; da vil det se slik ut : procedure TForm7.Button7Click(Sender: TObject); VAR F:TextFile; S:STRING; slutt:boolean; begin IF savedialog1.Execute THEN BEGIN AssignFile(F, savedialog1.FileName); // opretter kontakt med fil rewrite(F); // opner filen - bruk "rewrite(f)" for å opprette ny fil på disken for L := 0 to memo1.lines.count-1 do begin s:=memo1.lines[L]; writeln(F, S); end; CloseFile(F); // lukker filen END; end; for å teste det ut så trenger du en memo komponet og en button i tillegg bruker jeg en fielopendialog og en savedialog for at ma selv kan velge navnet på filen man skal lage/lese dette eksemplet utføres når du trukker på knappen her må du legge det inn i en buttonclik handling jeg går ut fra at det meste forstår du. men jeg skal forsøke å forklare litt. du må altså bruke tekstfile delen derfor er det en variabel som er sat ttil textfile så bruker jeg funksjonen EOF for å kontrollere når det er slutt på filen i eksemplet her så brukes jeg også en fileopendialog for å plukke ut filnavnet dette fungerer bare på tekstfiler som er skrevet som ren tekst for å plukke ut filnavnet fra stringlisten din : filnavn:=listbox1.Items[listbox1.ItemIndex]; da vil du få teksten rett i variabeln "filnavn" "filnavn" er en streng variabel den komplette filnavnet vil så f.eks slik ut "c:\sti\sti2"+filnavn"+'.txt" hvis jeg har forklart meg lit klønete eller det virker for komplisert så skal jeg forsøke å hjelpe deg videre Lenke til kommentar
Popsux Skrevet 14. april 2009 Forfatter Del Skrevet 14. april 2009 Genialt ass!!! Tusen takk for innleget her. setter pris på hjelpen du har gitt meg Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå