![]() |
Datei laden
Huhu!
:D Ich hab mal wieder ein Problem! Und zwar möchte ich eine Datei laden, ohne das sich das Fenster vom OpenDialog öffnet. Der Benutzer weiss nicht wie die Datei heisst und sollte deshalb nur mit einem Mausklick auf einem Button, die Datei ändern können und anschliesend speichern! Wisst Ihr was ich meine? :?: Gruss Eleonora |
Re: Datei laden
Hallo,
Zitat:
Es stellen folgende sich Fragen: 1. Welches Format hat die Datei? 2. Mit welcher Komponente soll der Dateiinhalt angezeigt werden? Bei einer TXT-Datei würde ich den Inhalt in einem Memo anzeigen. Textdatei ins Memo laden: Memo1.Lines.LoadFromFile(Pfad+Dateiname) Textdatei speichern : Memo1.Lines.SaveToFile(Pfad+Dateiname) |
huhu :>
Nehmen wir an du möchtest eine txt Datei in ein memo laden.
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin Memo1.Lines.LoadFromFile('c:blah/blub/grml.txt'); end; |
Du könntest z.B. bei einer Textdatei im OnClick - Ereignis des Buttons eine StringList mit LoadFromFile('Dateiname') die Datei öffnen und nachher beim OnClick des zweiten Buttons mit SaveToFile('Dateiname') die Datei wieder abspeichern.
Edit: Tja, da war SharkX schneller im Tippen. :) |
Danke schon mal für Eure Hilfe, aber all das habe ich schon probiert! Und es ist nicht das was ich brauche/suche!
Ich werde versuchen es anders zu beschreiben! Momentan lade und ändere ich die Datei in ein Memofeld welches sich auf einer zweiten Unit befindet! Bevor man ändern und laden kann, frage ich auf der ersten Unit mit einem MessegDlg ab, ob man diese Datei auch wirklich ändern möchte?! Wenn ja, dann öffnet sich die zweite Unit und man kann die Datei dann laden, ändern und wieder speichern! Ich möchte aber beim "ja"Click die automatische Änderung dieser Datei, ohne das sich das Fenster vom OpenDialog und die zweite Unit erst öffnet! Denn die Benutzer wissen in dem Moment ja nicht welche Datei zum ändern wäre! Und jedes mal mit einem MessageDlg drauf Hinweisen wie sie vorgehen sollen, möchte ich auch nicht! Ich hoffe jetzt ist es verständlicher? Gruss Eleonora |
Code:
wo is da bitteschön nen opendialog ?
LoadFromFile('path/datei')
|
@sharkx:
Das mit dem OpenDialog hat doch gar nicht Dir gegolten. Ich habe alles nur mal so beschrieben wie ich es momentan mache, weil es weiter oben angefordert worden ist! Aber deswegen funktioniert Dein Vorschlag trotzdem nicht! Ich habe es ja so schon vorher versucht gehabt! Wenn ich das so mache, dann bringt er mir eine Fehlermeldung! eleonora |
:) Ich glaube um welche Fehlermeldung es handelt würde jedem interessieren der helfen will :)
|
Paste mal bitte die Procedur wo du die Datei laden möchtest. Vieleicht hattest du nur beim loadFromFile den dateinamen falsch geschrieben? an falsche stelle gestezt oder ähnliches ;)
|
wenn ich dein Problem richtig verstanden habe, willst du wenn der User auf Ja klickt, dass deine Datei gespeichert wird ! - Oder
wenn dem so ist die MessageDlg liefert doch returnvalues zurück, die du abfangen kannst... procedure TForm1.Button1Click(Sender: TObject); begin if MessageDlg(Wollen Sie speichern. ', mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes then begin loadfromfile..... end; end; wenn das nicht dein problem war... dann vergess mein posting |
@M.Knebel:
Die Fehlermeldung lautet: Im Projekt ist eine Exeption der Klasse EFOpenError aufgetreten. Datei ('C:\Programme\Netscape\Netscape\default\pref\all. js'); kann nicht geöffnet werden. Mit einzelnen Anweisungen oder Start forsetzen. Dann drücke ich OK und drück anschliessend noch mal Start. Fehlermeldung: Datei ('C:\Programme\Netscape\Netscape\default\pref\all. js'); kann nicht geöffnet werden. @sharkx: Ich schreibe den Code direkt nach der Abfrage ob gelöscht werden möchte? Wenn ja, dann ....
Code:
Memo.Lines.LoadFromFile('C:\Programme\Netscape\Netscape\default\pref\all.js');
eleonora |
Hi,
gibts die Datei überhaupt? Und: Kann man .js Dateien in ein Memo laden? Weiß es grad nicht... Bis dann, S - tefano |
@s-tefano:
Ja diese Datei gibt es Ja man kann diese Datei mit dem OpenDialog öffnen, ins Memo laden und ansschliessend geändert in dieser Datei wieder abspeichern! Momentan mache ich es nach diesem Schema! eleonora |
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab dir ma ne kleine App gebastelt, hoffe des hilft dir weiter.
Achte beim Laden der datei auf gross und kleinschreibung! Achte bei dem App nun nit auf den Text im msgdialog ;) |
:dancer: :dancer2: Es hat geklappt! :dancer: :dancer2:
Ich weiss jetzt auch woran es gelegen hat! Ich habe bei dem defaults das s vergessen! :oops: Wie heisst das Sprichwort? Auch ein blindes Huhn..... :) Danke noch mal!!! Gruss Eleonora |
hrhr geht mir auch oft so :P
Vor lauter Bäume den Wald net sehen :> |
Hi,
Cool, hatte ich also Recht. Die Datei gabs in Wirklichkeit garnicht. Jedenfalls unter dem Pfad... Bis denn, S - tefano |
Denk dran, des net jeder diese datei besitzt und wer sie hat, nicht unbedingt unter dem selben Pfad wie du :P
|
Genau, denn schliesslich hab ich ja diesen Pfad! Es hat ja auch funktioniert. Ich habe am Anfang nur einen Buchstaben vergessen gehabt. Und wie Sharkx bereits erwähnte, es kann sein, dass Du den Pfad wo ganz anders gespeichert hast!
Gruss Eleonora |
Hi,
weiß nicht ob ich euch oder ihr mich nicht richtig verstanden habt, aber was ich meinte war, dass die Datei unter dem Namen (Pfad ist ja Teil des Namens) wie du ihn in dem hier geposteten Code verwendet hast nicht existierte. Erst als du beim Pfad das "s" zum default hinzugefügt hast hats funktioniert, weil die Datei unter diesem nunmal anderen Dateinamen (denn wie gesagt, der Pfad ist ja Teil des Dateinamens und stimmte eben nicht) jetzt auch existierte. Was ich zusammenfassend nochmal ausdrücken will ist: Ich hatte Recht. Juhu! :hello: :hello: :hello: :hello: :hello: Will nur hoffen dass ich jetz irgendeinen von euch nich falsch verstanden hab, weil dann irgendwie der ganze "Triumph" nich mehr da wäre... Bis dann, S - tefano |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz