AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Event Pfad an MenuItem übergeben (Problem)
Thema durchsuchen
Ansicht
Themen-Optionen

Event Pfad an MenuItem übergeben (Problem)

Ein Thema von IMPEGA · begonnen am 23. Apr 2025 · letzter Beitrag vom 25. Apr 2025
Antwort Antwort
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
725 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Event Pfad an MenuItem übergeben (Problem)

  Alt 24. Apr 2025, 09:17
Hey, das Menu ist generell nicht der richtige Ort um Daten zu parken. Was anderes als "Tag" brauchst Du aber auch nicht.
Speicher deine Informationen doch einfach in einem StringGrid. Der bekommt ein weiteres Feld "Index" das Du durchnummerierst.
Dann kannst Du mit Hilfe von "Tag" den "Index" finden in dem die Daten stehen die Du brauchst.

Eigentlich wäre eine MemTable besser, aber wenn Du schreibst, "Hobby", will ich Dich ja nicht gleich mit Profisachen plätten.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.393 Beiträge
 
Delphi 12 Athens
 
#2

AW: Event Pfad an MenuItem übergeben (Problem)

  Alt 24. Apr 2025, 09:54
Es hatte aber auch niemand geschrieben wo genau das früher war.

Ich weiß zwar noch, dass man z.B. irgendwo eine GUID registrieren konnte, welche sich dann als Dateiname eines Verzeichnisses nutzen und so irgendwas verlinkten kann und das sollte auch immernoch möglich sein. (für Weiteres müsste ich auch erst wieder danach suchen)


Beim .Tag oder .Objects in ListenKomponenten
kann man Werte (Integer) angeben oder z.B. ein Datenobjekt verlinken.
Ebenso kann man eine eigene Liste/Dictionary erstellen und mit Objektzeigern oder Name entsprechend was zu seinen Komponenten abspeichern.

Wir haben TMenuItem abgeleitet und es gibt zusätzlich nochmal so was wie .Tag für String und Variant.

Bei Menüs/Links im Dateisystem kann man ein Programm/Pfad angeben, teilweise/eventuell mit Parameter(n).
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (24. Apr 2025 um 10:07 Uhr)
  Mit Zitat antworten Zitat
IMPEGA

Registriert seit: 19. Jan 2008
Ort: Brhv
91 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Event Pfad an MenuItem übergeben (Problem)

  Alt 24. Apr 2025, 13:27
Danke für die Ansätze.
Ich werde mal mit .Tag versuchen. Mal schauen, wie es zu machen ist. Das kriege ich aber schon hin.
Jetzt muss ich erst das Geschriebene umsetzen, danach sehen wir weiter.

Noch mal, vielen Dank.
  Mit Zitat antworten Zitat
IMPEGA

Registriert seit: 19. Jan 2008
Ort: Brhv
91 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Event Pfad an MenuItem übergeben (Problem)

  Alt 25. Apr 2025, 09:23
Ich habe gestern, versucht es mit .tag irgendwie zu realisieren.
Es gibt nur die Möglichkeit, mit dem Integer zu arbeiten.
Das kriege ich so nicht hin.

Mein Problem ganz kurz erklärt.
Ich erfasse die .lnk Dateien, die lese ich aus, erfasse den Namen von der exe Datei und natürlich den Pfad zu der Datei.
Befindet sich die .lnk Datei in einem Unterordner, wird ein Untermenü mit dem Namen des Ordners erstellt.
Menüeinträge entsprechen den Unterordnernamen bzw.den Namen der .lnk Datei, allerdings ohne Erweiterung "lnk"
Und hier ist das Problem. Wenn ich den Event auslöse, kann ich nicht erkennen, ob es ein Programm oder nur ein Unterordner ist.
Mein Pfad wird global gesetzt, also brauche ich es nicht zu erfassen, allerdings den Namen des Unterordners muss ich im Event haben.
Die Idee war, einfach den Namen des Unterordners an mein Event zu übergeben. Damit hätte ich den Namen (Caption) und die Location (Pfad + Unterordner).
Ich habe alles probiert, mit dem Event von MenuItem kriege ich es nicht hin.

Nun frage ich mich, ob man es nicht irgendwie über ein eigenes Event umbiegen kann.
Dazu muss ich aber erst ein wenig lesen.

Tipps, wie man eigene Events erstellt (einfach erklärt) wären super.
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
495 Beiträge
 
Delphi 12 Athens
 
#5

AW: Event Pfad an MenuItem übergeben (Problem)

  Alt 25. Apr 2025, 10:41
Hallo, du könntest auch TMenuItem ableiten und die Felder hinzufügen, die du benötigst.
Beim Hinzufügen verwendest du diese Klasse und hast dann im OnClick direkten Zugriff auf Informationen, die du benötigst.
Manche wissen gar nicht, dass man gar nicht gar nicht zusammenschreibt.
  Mit Zitat antworten Zitat
IMPEGA

Registriert seit: 19. Jan 2008
Ort: Brhv
91 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Event Pfad an MenuItem übergeben (Problem)

  Alt 25. Apr 2025, 10:56
@BerndS
leider ist deine Antwort zu allgemein, damit kann ich NOCH nichts anfangen.

@himitsu
Nur noch eine Frage zum .Tag
Da ich nicht weiß wie viele Unterordner und wie viele Verknüpfungen in jedem Ordner vorhanden sind, kann ich schlecht eine For Schleife benutzen.
In jedem Unterordner wird eigene For Schleife benutzt.

ABER
Global Index : Integer;

Nun einfach fortlaufend eine Liste mit .lnk erstellen, gleichzeitig jedem Item eine .Tag Nummer vergeben, einfach mit Index := Index + 1;
Damit hätte ich zu jeder Tag.Nummer eine Adresse.
War es so gemeint?

Gefallen tut es mir nicht wirklich, wäre aber auch eine Lösung.

Geändert von IMPEGA (25. Apr 2025 um 10:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
725 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Event Pfad an MenuItem übergeben (Problem)

  Alt 25. Apr 2025, 12:56
Ich glaube Du solltest mal einen Tag Pause machen. Sieht bisschen so aus als wenn Du dir gerade selber im weg bist.
Du kannst faktisch mit allem arbeiten, Stringliste, generische (generics TList) Liste oder eben einen StringGrid oder eine Tabelle, etc.
Es kommt nur drauf an wie man die Daten in den Listen parkt um alles unterzubekommen.
Alle Listen haben automatisch einen Index für jeden Eintrag den Du in deinem Tag verwenden kannst.

Und nein, ich bin nicht Himitsu, aber ich denke wir sehen das beide gleich
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 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