Verschtelung: Eigenes Mainmenu Problem

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

wenn du mich so fragst schon:

Neu...
Öffnen.
Speichern
Speichern unter

Diese Einträge habe ich mal zwei oder dreimal gebraucht. Als Unter Menu.

oder es währe ja auch möglich das ich irgendein Caption warum auch immer mehr fach verwenden möchte oder ?
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Aber doch nich im selben Menü das kannst mir nich erzählen. Gib mal n Beispiel.
Und "warum auch immer" ist normalerweise gut aber in dem Fall unsinnig 2 Menüeinträge im selben Menü mit gleichen Namen ... welcehs soll ich denn da als benutzer deines Programmes benutzen kann ich mir das dann aussuchen ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ach so du meinst ich habe jetzt z.b. die Menus:
Datei Bearbeiten und bei Datei habe ich zwei mal den gleichen Eintrag Neu z.b.

naja das würde jetzt gehen aber auch in Zwei unterschiedlichen Menus hätte es bevor ich die namens tabbele angelegt habe, Probleme geben.
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ja und ? ist doch nicht im selben Menü verstanden ?
Ausserdem ist Name <> Caption und der Name ist normalerweise eindeutig
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

was haltet ihr denn von so einem Format:
Datei {
Neu:Neu,New
Öffnen:Öffnen,Open
Speichern...:Speichern,Save
SpeichernU:Speichern Unter, Save as
Beenden
}

Bearbeiten {
Ausschneiden {
Testitem0
Testitem1
TestItem2
}
Kopieren
Einfügen
Löschen
Zur Zeile Springen
}

währe Leichter zu lesen und es könnten Menus ohne Editor sehr schnell geschrieben werden, Problem währe nur die Umsetztung und das Pasen.
Und vorallem wie ermittele ich die Root Einträge ?
das kann ich ja nur anhand der Leerzeilen machen sehe ich das richtig ?
z.b. ich müsste dann eine Funktion schreiben die in der Lage ist den Level zurück zu geben.
ich rücke zweimal ein pro Level:
0 = Root einträge
1= 1. Level
2= 2. Level
....

und mit Menus die mehrer Sprachen können sollen, währe das auch überhaupt kein Problem.
Ich weiß noch nicht so recht.

edit1:
ja du hast recht. bei mir ist id = name aber caption ist legendlich nur der anzeige Text mehr nicht
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ich halt mehr davon den Menüeditor im Lazarus zu nehmen um meine Menüs zu erstellen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ich habe damit bisher immer meine Probleme mal eben schnell ein mainemnu zu erstellen. Frage mich nicht warum, aber der unterscheidet sich vom Delphi Mainmenu Editor. Ich bin einfach per Text Datei schneller.
Da gehe ich jede Wette ein. Selbst das Konfigurieren der Einträge also Tasten/farben/Beschreibungen zuweisen könnte ich mir in einem Text-Editor einfacher vorstellen. Ich habe aber sowieso vor ein richtigen Editor zu schreiben der den von Delphi ähnlich auf gebaut ist.

z.b. ich meine man kann keine Menu Einträge kopieren, wenn man die gleichen Einstellungen benötigt und sowas halt.
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

pluto hat geschrieben:also die ID habe ich eingeführt die hat mehrer vorteile:
1. ich Captions gleich bennen so oft ich möchte.
2. ich kann das Mainmenu in mehreren Sprachen basteln.

und die ID darf nur einmal vorkommen.

von dahrer kann ich dir nichts ganz folgen.
wir können auch sagen die ID ist der Name und nicht der Caption und fertig.

Wenn das leichter ist.

[
da steht alles, was ich ausdrücken wollte. Wir sollten uns nur mal auf Bezeichnungen festlegen, udn es ist völlig egal, auch wenn du alle Captions gleich machst (sehr Sinvoll übrigens, nach Styleguide ist davon abzuraten :P ), eine Komponente hat nen eindeutigen naem und der ist nicht die Caption, und somit ist es auch kein Problem.

Das letzte Format sihet sinnvoller aus, aber beachte, wenn schon, dann in Anführugnszeichen, was ist den, wenn die Caption dabei nen Komma enthält, was wohl eher vorkommt, als zwei gleiche Bezeichnungen?
Und wieso verdammt nchmal drei Werte:
Öffnen:Öffnen,Open :?:
Caption ist klar, name ist klar, und was soll das dritte sein?


Wenn man es wirklich so machen will find ich das ganze nicht so völlig ausgerfiet, wieso nicht ne Untermenge von XML definieren, würde zumindest dem hype folgen:

Code: Alles auswählen

<MainMenu>
  <MainItem>
    <SubItem>
      <SubMenü>
        <subItem
        <Subitem>
      </SubMenü>
    </Submenü>
  </SubItem>

irgendwie so, und die Werte als feste Attribute definieren. Lässt sich unendlich Schachteln und ist auch bei großen Menüs noch vergleichsweise Übersichtlich.

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Öffnen:Öffnen,Open

vor dem : ist der Name, danach die Captions in mehren Sprachen.
Dachte ich mir. Wenn ein , im Caption oder Hint vorkommen soll, sollten die "" bentutz werden

ich finde XML persönlich nicht so toll, aufwendig zu Pasen.
Ich verstehe auch nicht warum der Mediaplayer bei seinen Playlisten im XML Format abspeichert.

ich finde mein neues Format währe leichter zu Lesen als ein XML Format.
1. für den Menschen
2. auch für den Computer
z.b. die Root Items kann ich herausfiltern in dem ich prüfe ob ein Leerzeichen bzw. eine { oder} ist, wenn das nicht ist, dann ist es ein Root Iitem

und im übrigen brauche ich hier nur eine Funktion zu schreiben die ich universal einsetzten könnte(das hoffe ich auf Jedenfalls.

Danke für eure Ratschläge.
MFG
Michael Springwald

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

mir ist eingefallen wo ich das gesehen habe:
Geht mal in OpenOffice mit der Rechten Maustaste auf eine Tabbele:
Dort steht zweimal Zeile und Zweimal spalte *G*
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Pluto das ist schon gut das der mediaplayer xml basiere Playlistenformate benutzt xml kann man nämlich transformieren und das macht bei ner playlis viiieeeelll sinn ganz im gegensatz zu z.b. konfigurationseinstellungen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

die Playlisten des MP sind aber so langsam, als wenn sie mit Java über Net gelesen werden würden, musste jetzt mal gesagt werden :lol:

Im Oo steht nirgend zwei mal Spalte und zweimal Zeile, also bei mir nicht in Calc und auch nicht im Writer, Pluto, wo hast du das denn her. Abgesehen ist das ja immernoch das Kontextmenü und kein MainMenu ;)

Auf der anderen Seite gibt es ganz komfortable Editoren für XML, wenn du dich dabei an DOM hältst.

Dachte ich mir. Wenn ein , im Caption oder Hint vorkommen soll, sollten die "" bentutz werden

machs immer, erstens ne klare Trennung und zweitens kann es so schlechter vergessen werden und drittens sparst du dir die Kontrolle, obs nun nötig ist oder nicht.

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

benutzt xml kann man nämlich transformiere

was meinst du damit ?
das Format hätte wesentlich besser bzw. einfacher ausfallen können. ich bin der Meinung das es länger dauert eine XML Datei zu lesen als eine INI Datei oder vergleichbares.

Im Oo steht nirgend zwei mal Spalte und zweimal Zeile, also bei mir nicht in Calc und auch nicht im Writer, Pluto, wo hast du das denn her. Abgesehen ist das ja immernoch das Kontextmenü und kein MainMenu ;)


Stimmt jetzt sehe ich das auch ich habe Zelle mit Zeile verwechselt. aber wahr mir 100%ig sicher evlt. in einer älternen version
machs immer, erstens ne klare Trennung und zweitens kann es so schlechter vergessen werden und drittens sparst du dir die Kontrolle, obs nun nötig ist oder nicht.


was genau meinst du damit ?
wobei ich mir gerade überlegt habe ich könnte für mehrer sprachen es auch besser machen mit
Caption1
Caption2
Caption3
Hint1
Hint2
Hint3
und die zahlen stehen dann für die verwendete Sprache ich hoffe ihr könnt es euch vorstellen wie ich es meine.
am Anfang der Datei könnte z.b. eine liste mit sprachen stehen:
Deutsch, Englisch, Spanisch.
Im Programm selber wird davon jetzt eine Sprache ausgewählt nehmen wir Deutsch das ist der 1. Eintrag also wird Caption1 gelesen und Hint1 gelesen... wie währe das ?

edit1:
Ich finde ein Context Menu ist auch ein bestand teil von einem MainMenu. oder nicht ?
nur das es anders geöffnet wird als ein MainMenu...
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

was meinst du damit ?
das Format hätte wesentlich besser bzw. einfacher ausfallen können. ich bin der Meinung das es länger dauert eine XML Datei zu lesen als eine INI Datei oder vergleichbares.

Christina meinte die tatsache, das viele frmede Programme (wie Winamp, oder Christians Audio-X (kann es das?)) die Wiedergabelisten vom MS-Mediaplayer auslesen können und man somit seine Wiedergabelisten fast in jedes Programm importieren kann.
was genau meinst du damit ?

Ich würde die Attribute immer in " setzen, dann gibts ne klare Linie.

Darf ich jetzt mal was anderes ins Spiel bringen? Was hältst du davon, das Menü in einer Sprache zuerstellen. Und für weitere Sprachen einfach die datei zu kopieren und die Strings zu übersetzen? Es ist ja durchaus üblich, für jede Sprache nen eigenes Sprachfile zu haben, und nicht alles in eines zu packen. Wenn ich 20 Sprachen unterstützen wöllte wäre das dann schon unpraktisch. Abgesehen davon, das viel besser einzelne Übersetzungen angefertigt werden könne, wenn jeder Übersetzer (wer kann schon selbst so viele Sprachen) nur seine Sprachdatei bearbeiten muss.

Kurzum, lager die sonstigen Sprachen aus, so das sie nach Bedarf die Standardsprache ersetzen. (Wie die Dialogs von Laz, Sprachdateien von Php-Anwendungen, wie phpBB, usw.)

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Darf ich jetzt mal was anderes ins Spiel bringen? Was hältst du davon, das Menü in einer Sprache zuerstellen. Und für weitere Sprachen einfach die datei zu kopieren und die Strings zu übersetzen?

Danke für den TIPP. Danach habe ich noch gar nicht gedacht.
es könnte ja ein Gobales Verzeichnis geben. Wo alle diese Dateien rein kommen.
Am Anfang könnte ein Kurzte Beschreibung und Name der Sprache stehen. Evlt. sogar mit ICON bzw. Flagge. und der User kann dann per Menu eine Sprache auswählen.

Für die gesammte GUI.
Christina meinte die tatsache, das viele frmede Programme (wie Winamp, oder Christians Audio-X (kann es das?))

naja m3u kann auch so gut wie jedes Audio Format lesen.
Ich hatte sogar mal ein Klasse geschrieben die konnte universial jedes Format lesen.
Sie brauchte nur eine Vorlage. Aber es gab irgendwie einen hacken.

Ich konnte aufjedenfall schreiben und lesen.
Die Vorlage mussten sich an ein Schmea halten.
war eine tolle sache. so brauchte ich nicht für jedes Format eine eigene Klasse zu schreiben.
Es gab allerdings auch nur die Methoden:Speichern und Laden. Beim speichern wurde die Alte Datei einfach gelöscht und neu erstellt.
ich konnte damit auf jedenfall folgende Formate erfolgreich laden und speichern:
ASF, PLS, WPL, M3U(beide varianten)
ich konnte sogar spicelle sachen lesen wie anzahl, und die jeweiligen Tag Eigenschaften auslesen.
MFG
Michael Springwald

Antworten