![]() |
Menu Funktionen programmieren
Hallo an alle! Ich habe ein problem mit der Software Borland Delphi 7 und zwar es geht um folgendes:
Ich habe mit delphi 7 ein Menu programmiert sowie: Die funktion Öffnen,Speichern Speichern unter und dann Beenden.Jetzt ist die frage: Was muß ich für ein befehl eingeben damit diese 3 funktionen richtig funktionieren sowie z.B: Wenn ich unter der funktion Öffnen gehe - ich will das sich ein weiteres fenster öffnet mit den verknüpften formaten wie z.B: jpg oder tiff oder gif suchen kann ? Es müssen ja nicht unbedingt Bilder gesucht werden -- es kann auch was anderes sein also wie muß ich vorgehen? dies gilt auch für speichern und speichern unter! gruß astiope |
AW: Menu Funktionen programmieren
Hallo
Das musst du schon alles einzeln programmieren. Zur Auswahl der Dateien kannst du einen TOpenDialog benutzen. |
AW: Menu Funktionen programmieren
Hallo und Willkommen in der DP :dp:,
mir scheint, Du suchst die Dialoge (Reiter in der Komponentenpalette). Da gibt es z.B. einen TOpenDialog, TOpenPictureDialog und TSaveDialog. In der Hilfe gibt es wahrscheinlich auch Beispiele dazu, wie man die benutzt. |
AW: Menu Funktionen programmieren
Hallo unter hilfe wurde die TOpenDialog, TOpenPictureDialog und TSaveDialog gefunden aber grade hier komme ich nicht weiter.:( --
Zum Beispiel unter TOpendialog steht das hier: Beschreibung TOpenDialog zeigt ein Dialogfeld an, in dem der Benutzer Dateien auswählen und öffnen kann. Das Dialogfeld wird zur Laufzeit erst angezeigt, nachdem es mit der Methode Execute aktiviert wurde. Wenn der Benutzer auf Öffnen klickt, wird das Dialogfeld geschlossen, und die ausgewählten Dateien werden in der Eigenschaft File gespeichert. Standardmäßig werden native Dialogfelder anstatt von Qt-Dialogfeldern angezeigt. Das entsprechende Verhalten wird über die Eigenschaft UseNativeDialog gesteuert. Aber ich komme dann hier nicht weiter Mir wäre es von vorteil wenn irgendjemand von euch sagen würde wie ich genau vorgehen soll daswäre nett danke. gruß astiope |
AW: Menu Funktionen programmieren
Pack Dir einen TOpenDialog auf Dein Formular, nenn ihn z.B. dlgOpen, und versuch mal folgenden Code im OnClick des Menüpunkts:
Delphi-Quellcode:
[edit] Allerdings würde ich Dir das
if dlgOpen.Execute then
begin (* Hier das, was mit den Dateinamen geschehen soll *) end; ![]() |
AW: Menu Funktionen programmieren
Hallo es wurde auch gesagt das man diese 3 funktionen wie Öffnen Speichern speichern unter einzeln extra programmieren soll -- wie darf ich das hier verstehen ?
gruß |
AW: Menu Funktionen programmieren
Das soll heißen, dass Du den Code für Speichern, Speichern unter und Öffnen selbst schreiben musst. Dafür gibt es nichts Fertiges.
|
AW: Menu Funktionen programmieren
Also ich habe if dlgOpen.Execute then eingegeben aber es passiert nichts! Was meinten sie den mit diesen text - ihr zitat:
Pack Dir einen TOpenDialog auf Dein Formular, nenn ihn z.B. dlgOpen, und versuch mal folgenden Code im OnClick des Menüpunkt. Sie müssen es deutlicher werden damit da ich sonst nicht weiterkomme - gruß |
AW: Menu Funktionen programmieren
Es kommt auch drauf an was du speichern willst. (irgendwie hab ich dazu keine Aussage gefunden)
Bei vielen Komponenten (Memos, Images, Stringlisten, ...) gibt es z.B. Metoden ala SaveToFile und LoadFromFile, bzw. SaveToStream und LoadFromStream. Aber ja, die Funktionen hinter diesen Menüs mußt du schon selber schreiben ... von Alleine weiß Delphi ja nicht was gespeichert werden soll. Also mindestens die genannten Dialoge aufrufen und dann die entsprechende Speicherfunktion (falls vorhanden). - TOpenDialog aus der Komponentenpalette auf das Formular ziehen - im Objektdesigner den Namen ändern - im Quellcode
Delphi-Quellcode:
und nun sollte der Dialog aufgehn
if derName.Execute then
- dann eventuell noch ein paar der Properties dieses Doalogs anpassen (z.B. die gewünschten Filter) Zitat:
Ansonsten empfehle ich immer gern den Debugger, welchen man unbedingt kennen sollte, denn der zeigt einem ganz schnell ob und wie der Code ausgeführt wird. |
AW: Menu Funktionen programmieren
Genau das ist ja das problem - Allein delphi weiß nicht was er machen soll - aber wo bekomme ich alle befehle aufgelistet ? Unter hilfe option bei delphi gibt es zwar die befehle aber da steht nicht genau drinn wie man weiterkommen soll.
Haben sie vielleicht eine liste aller befehle von delphi und deren bedeutung und was man damit anfangen kann ? gruß |
AW: Menu Funktionen programmieren
Das sind viele tausend. ;-) Dafür gibts die Hilfe.
Wo kommst du denn gerade konkret nicht weiter? Du hast geschrieben, dass bei dem Execute nichts passiert. Wird das denn überhaupt ausgeführt? (Sprich wo hast du das hingeschrieben?) Vielleicht hilft dir auch ein Crashkurs: ![]() Und nebenbei: Hier ist es üblich sich zu duzen. ;-) |
AW: Menu Funktionen programmieren
ich habe den befehl unter begin eingegeben oder auch über diese begin befehl - es erscheint immer rot wenn ich es versuche es zu kompilieren - was mache ich den hier falsch ?
gruß |
AW: Menu Funktionen programmieren
Zeig doch mal etwas Code. Ein begin kann irgendwo stehen...
|
AW: Menu Funktionen programmieren
Hallo ich habe zum beispiel ihr befehl code unter der formular menu und dann unter öffnen eingegeben:
if dlgOpen.Execute then begin (* Hier das, was mit den Dateinamen geschehen soll *) so wie sie mir es angeschrieben haben habe ich es rüber kopiert |
AW: Menu Funktionen programmieren
Hast Du das "end;" auch mitkopiert? Und wie gesagt, lerne erst die Grundlagen, sonst kann das nichts werden.
|
AW: Menu Funktionen programmieren
Ja habe ich aber trotzdem passiert nix - keine ahnung warum
|
AW: Menu Funktionen programmieren
Zeig mal den gesamten Code.
|
AW: Menu Funktionen programmieren
Delphi-Quellcode:
procedure TForm1.ffnen1Click(Sender: TObject);
begin if dlgOpen.Execute then begin (* Hier das, was mit den Dateinamen geschehen soll *) end; end. |
AW: Menu Funktionen programmieren
Da fehlt ein "end;" (mit Semikolon am Ende), wie vermutet. Übrigens formatiere Delphi-Code doch bitte mit den entsprechenden Tags (der Helm im Beitragseditor), Danke.
|
AW: Menu Funktionen programmieren
Also ich habe das Befehl end; reingeschrieben aber trotzdem stoppt es.Schreiben sie mal wie sie es sich das vorstellen.
Delphi-Quellcode:
procedure TForm1.ffnen1Click(Sender: TObject);
begin if dlgOpen.Execute then end; begin (* Hier das, was mit den Dateinamen geschehen soll *) end; end. oder korrigieren sie mal dieses code komplett |
AW: Menu Funktionen programmieren
Delphi-Quellcode:
procedure TForm1.ffnen1Click(Sender: TObject);
begin //Anfang der Methode if dlgOpen.Execute then begin //Anfang der Abfrage (* Hier das, was mit den Dateinamen geschehen soll *) end; //Ende der Abfrage end; //Ende der Methode end. //Ende der ganzen Unit |
AW: Menu Funktionen programmieren
Der kompiler hängt trotzdem da wo if dlgOpen.Execute then geschrieben steht warum weiß ich nicht.
fehlt irgendwas ? gruß |
AW: Menu Funktionen programmieren
Was heißt "der Compiler hängt"? Ist die Zeile rot markiert? Dann müsste auch eine Fehlermeldung zu sehen sein, die besagt, was falsch ist.
|
AW: Menu Funktionen programmieren
Zitat:
Die Zeile schaut dann so aus:
Delphi-Quellcode:
Gruß
//(* Hier das, was mit den Dateinamen geschehen soll *)
Luggi PS: Und bitte: Lerne zuerst einige Grundlagen von Delphi oder Pascal. Entsprechende Links sind hier ja schon gepostet worden! |
AW: Menu Funktionen programmieren
Öhm, (* *) ist ein gültiger Kommentar, den muss man nicht noch einmal kommentieren ;)
|
AW: Menu Funktionen programmieren
Richtig an dieser stelle ist die zeile rot markiert:
der fehler lautet: Undefinierter bezeichner dlgOpen - wie sie es meinten habe ich schon bereits versucht aber hat nichts bei gebracht |
AW: Menu Funktionen programmieren
Zitat:
|
AW: Menu Funktionen programmieren
Hallo,
hast du denn auch die entsprechende Komponente auf dein Formular gezogen oder nur den Code eingegeben? Es wäre sicher hilfreich, mal den ganzen Code zu präsentieren. Auch die empfohlenen Tutorials könnten dir weiter helfen (Grundlagen lernen). |
AW: Menu Funktionen programmieren
Hallo ich habe den namen was geschrieben stand in dlgOpen geändert und dann mit Enter bestätigt - erstaunlicherweise ist es immer noch rot markiert.
gruß |
AW: Menu Funktionen programmieren
Den Namen des Formulars oder den des Dialogs?
|
AW: Menu Funktionen programmieren
den name des dialogs -
|
AW: Menu Funktionen programmieren
Sag mal,muß man auch ein dialog fenster programmieren bevor man die passenden befehle eingibt ?
gruß |
AW: Menu Funktionen programmieren
So kommen wir irgendwie nicht weiter. Pack doch die *.pas und die dazugehörige *.dfm mal als ZIP-Archiv und hänge das an Deinen nächsten Beitrag an. Diese Raterei führt ja zu nichts.
[edit] Du musst kein Dialogfenster programmieren, die Dialog-Komponenten kapseln die Windows-Dialoge. [/edit] |
AW: Menu Funktionen programmieren
Liste der Anhänge anzeigen (Anzahl: 1)
ok schau mal im anhang nach müsste alles drinn sein
gruß |
AW: Menu Funktionen programmieren
Wo ist denn da der Dialog und der gepostete Code?
|
AW: Menu Funktionen programmieren
Hallo ich hatte dies nicht gespeichert gehabt aber wartem mal ich versuch es jetzt zu speichern und dann schicke ich es ihnen rüber sofort.
gruß |
AW: Menu Funktionen programmieren
Liste der Anhänge anzeigen (Anzahl: 1)
schau mal jetzt es müsste alles drinn sein den code den sie mir geschickt haben.wenn probleme gibs frag mich.
|
AW: Menu Funktionen programmieren
Zitat:
|
AW: Menu Funktionen programmieren
Hallo es tut mir wirklich leid für den ganzen chaos - jetzt habe ich den Opendialog1 im formular drauf und wenn ich dann doppelclick mache es erscheint ein fenster aber wie bekomme ich jetzt diese funktion unter der funktion Menu unter öffnen ?
|
AW: Menu Funktionen programmieren
Das haben wir ganz am Anfang doch schon beschrieben. Tu Dir und uns doch bitte den Gefallen und beschäftige Dich zunächst mit den Grundlagentutorials, wir können ja nicht beim Urschleim anfangen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16: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