AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Menü einträge durchlaufen

Ein Thema von kingflo · begonnen am 12. Dez 2005 · letzter Beitrag vom 12. Dez 2005
Antwort Antwort
kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#1

Menü einträge durchlaufen

  Alt 12. Dez 2005, 12:35
Hallo...
vielleicht kann mir jemand helfen...

ich muss in einer schleife alle menüeintrage durchlaufen, aber nicht die übereinträge.

Also im Hauptmenu gibt es z.B Datei , Bearbeiten, Ansicht usw... unter datei gibt es dann z.B neu, öffnen usw
hier bräuchte ich jetzt also den namen von neu (z.B neu1) und von öffnen (ffnen1) usw...

Problem ist nur, das neu z.B auch untereinträge haben kann wie z.B Datei, dokument, bild oder so und das diese Items auch wieder untereinträge haben könnten.

Bis jetzt habe ich es so gemacht:

Delphi-Quellcode:
var
i,y:integer;
begin
  for i:=0 to Menu.Items.Count-1 do begin
    for y:=0 to menu.items.Items[i].Count-1 do begin
     ShowMessage(Menu.Items[i].Items[y].name);
    end;

  end;
end;
ist aber keine gute lösung, da weiter untereinträge nicht berücksichtigt werden können also muss ich es anders machen...
nur leider hab ich kein plan wie...

hat da jemand zufällig ne gute idee
Florian Gilde
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#2

Re: Menü einträge durchlaufen

  Alt 12. Dez 2005, 12:37
das Stichwort lautet: Rekursion
  Mit Zitat antworten Zitat
kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#3

Re: Menü einträge durchlaufen

  Alt 12. Dez 2005, 12:42
das habe ich auch schon gehört nur leider kenn ich mich damit nicht aus hast du eventuell einen code, denn ich auf mein Problem anwenden kann?
Florian Gilde
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Menü einträge durchlaufen

  Alt 12. Dez 2005, 12:45
Erste Anlaufstelle wenn ich was nicht verstehe ist für mich immer Wikipedia (Rekursion)

//edit:
oops, deadlink. korrigiert
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#5

Re: Menü einträge durchlaufen

  Alt 12. Dez 2005, 12:48
Hallo,

da gab es Vorgestern noch einen Thread:
über Components
in dem nächsten Beitrag noch eine Möglichkeit per durchlaufen der Items.
Beide Codes funktionieren rekursiv.
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Martin Lassahn

Registriert seit: 14. Nov 2005
Ort: Mettmann
1 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Menü einträge durchlaufen

  Alt 12. Dez 2005, 13:04
Probier mal den Code:

Delphi-Quellcode:
var
i:integer;
begin
  for i := 0 to Menu.Items.Count-1 do
    MyMenuShowMessage(Menu.Items[i]);
end;
und zusätzlich die rekursive Prozedur:
Delphi-Quellcode:
procedure MyMenuShowMessage(myMenuItem:TMenuItem);
var i:integer;
begin
  ShowMessage(myMenuItem.Caption);
  for i := 0 to myMenuItem.Count-1 do
    MyMenuShowMessage(myMenuItem.Items[i]);
end;
Das klappt.
Martin Lassahn
  Mit Zitat antworten Zitat
kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#7

Re: Menü einträge durchlaufen

  Alt 12. Dez 2005, 13:12
Danke an alle
habe es mit der hilfe von Lannes schon hinbekommen aber trotzdem auch herzlichen dank an Martin Lassahn für deine Mühe der code funzt auch also danke an alle die mir geholfen haben
Florian Gilde
  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 23:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz