Autor |
Beitrag |
Daniel07A
      
Beiträge: 36
XP
D7 Enterprise
|
Verfasst: Sa 15.01.05 13:39
Hi,
Ich hab das Problem, dass ich es nicht schaffe eine Text Datei, die ich selber geschrieben habe in einem Memofeld anzeigen zu lassen, wenn ich auf einen Button klicke.
Ihr habt zwar schon ein par threads zu diesem Thema, aber ich verstehe das mit dem 'opendialog.filename:=...' nicht wirklich. Wie bekomme ich die .txt Datei in Delphi rein und welchen Pfad muss ich angeben um darauf zugreifen zu können ?
Gruß daniel Moderiert von Tino: Topic aus Sonstiges verschoben am Mo 17.01.2005 um 09:02
|
|
Keldorn
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: Sa 15.01.05 13:46
eine zuweisung von opendialog1.filename wird dir nichts bringen, du willst den ausgewählten dateinamen auslesen.
Delphi-Quelltext 1:
| if opendialog1.execute then memo1.lines.loadfromfile(opendialog1.filneme) |
Mfg Frank
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|
Daniel07A 
      
Beiträge: 36
XP
D7 Enterprise
|
Verfasst: Sa 15.01.05 13:52
ok aber,
Delphi-Quelltext 1:
| if opendialog1.execute then memo1.lines.loadfromfile(opendialog1.filneme) |
Was soll 'opendialog1' heißen (bzw. die '1') ? und
was soll ich bei dem 'filename' eingeben (den ganzen pfad mit C:\... wo ich die text datei gespeichert habe?)?
|
|
Keldorn
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: Sa 15.01.05 14:00
den opendialog hast du doch selber ins spiel gebracht  .
Der opendialog ist eine zur laufzeit nicht sichtbare Komponente, die du auf die form ziehen kannst (Registerkarte dialogs). die 1 dahinter ist Standard, du kannst das ding doch nennen wie du willst. mit execute wird der Dateiauswahldialog geöffnet und du kannst eine/mehrere dateien, je nach option, auswählen. mit opendialog.filename erhälst du die ausgewählte Datei, mit opendialog.files die ausgewählte n Datei en.
du kannst natürlich auch die Datei ohne dialog selbst angegeben
Delphi-Quelltext 1:
| memo1.lins.loadfromfile(Dateiname) |
Was du als Dateinamen angibst, bleibt dir überlassen. Letzendlich sollte er so gewählt sein, das dort auch die Datei liegt  . Du solltest immmer den kompletten Pfad mitangeben.
mfg Frank
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|
Coder
      
Beiträge: 1383
Erhaltene Danke: 1
WinXP
D2005 PE
|
Verfasst: Sa 15.01.05 14:02
Ich glaube er will nur eine vorbestimmte Datei laden, ohne einen OpenDialog.
Delphi-Quelltext 1: 2: 3: 4:
| procedure TForm1.Button1Click(Sender: TObject); begin Memo1.lines.loadfromfile('C:\textdatei.txt'); end; |
(Mist, wieder zu langsam)
|
|
Daniel07A 
      
Beiträge: 36
XP
D7 Enterprise
|
Verfasst: Sa 15.01.05 14:20
ok habs hinbekommen.
wenn der text jetzt länger ist als das Memo Feld, wie muss ich dann eine Scrollbar einfügen ?
Danke aber schonmal an alle für die gute Hilfe.
|
|
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 15.01.05 14:22
Stell mal die Eigenschaft Scrollbars deines Memos auf ssBoth !
|
|
Daniel07A 
      
Beiträge: 36
XP
D7 Enterprise
|
Verfasst: Sa 15.01.05 14:33
ok auch hinbekommen.
ich würd aber gerne noch eine andere Freage stellen.
Kann ich irgendwie die Schrift im text dokument fett machen oder färben, so das ich es auch im memo feld dann fett sehe. da gibt es doch bestimmt eine tabelle für mit allen befehlen.
|
|
Keldorn
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: Sa 15.01.05 14:36
nein, das geht mit einem memo für einzelne Textteile nicht, nur in einem richedit. Gugg dir beim richedit die sel-*eigenschaften an und such im forum danach.
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|
Coder
      
Beiträge: 1383
Erhaltene Danke: 1
WinXP
D2005 PE
|
Verfasst: Sa 15.01.05 14:38
Du kannst nur die Schriftart vom Kompletten Text ändern, ansonsten musst du ein RichEdit nehmen.
|
|
Daniel07A 
      
Beiträge: 36
XP
D7 Enterprise
|
Verfasst: Sa 15.01.05 15:05
ja ne dann lass ich es erstmal so wie es jetzt ist.
wenn ich das programm jetzt nur mit der exe datei abspielen will , auf einem anderen pc, findet er die .txt dokumente nicht. muss ich dann immer den ganzen ordner mit allen units und txt dokumenten mit kopieren, oder geht das auch anders ?
|
|
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 15.01.05 16:32
Die .txts ja, die Units nein. Du könntest allerdings auch alle Textfiles mit in die exe kompilieren, wodurch du nur noch die exe ansich wietergeben musst. Stichwort RESSOURCE
|
|
Daniel07A 
      
Beiträge: 36
XP
D7 Enterprise
|
Verfasst: Sa 15.01.05 18:23
ok hab mal im forum geschaut aber nicht wirklich alles verstanden.
Zitat: |
Man kann eine beliebige Datei als TXT Ressource in eine
Exe-Datei einbinden.
Das folgende Beispiel zeigt, wie man eine Text-Datei aus
einer Ressource lädt und in einem TMemo anzeigt.
Erstelle zuerst mit einem TextEditor eine Datei "textres.rc" mit folgendem Inhalt:
File1 TXT file1.txt
File2 TXT file2.txt
Kompiliere diese mit brcc32.exe: in deinen Delphi Ordner unter Delphi\bin
brcc32.exe textres.rc
Es wurde nun eine textres.res Datei erzeugt.
Kopiere nun die textres.res Datei in deinen Projekt Ordner
*)
|
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| implementation
{$R *.dfm} {$R textres.res} procedure TForm1.Button1Click(Sender: TObject); var ResStream: TResourceStream; begin ResStream := TResourceStream.Create(HInstance, 'File2', 'TXT'); Memo1.Lines.LoadFromStream(ResStream); ResStream.Free; end; |
so, jetzt weiß ich aber nicht wie ich diese textres datei kompilieren soll. ich habe bis dahin alles so gemacht wie es da steht. aber ich kann diese brcc32 datei nicht öffnen bzw. weiß ich nicht wie man was kompiliert ?
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Mo 17.01.05 10:02
Hallo Danil und  im Delphi-Forum.de!
Bitte stelle in einem Topic immer nur eine Frage. Für jede weitere Frage erstelle ein neues Topic in der richtigen Sparte. Ansonsten blickt nacher keiner mehr durch. Da die erste Frage bereits beantwortet ist schließe ich das Topic mal.
Gruß
Tino
|
|