AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Zuletzt geöffnete Dateien (im Datei-Menü) anzeigen

Zuletzt geöffnete Dateien (im Datei-Menü) anzeigen

Ein Thema von dopeline · begonnen am 13. Mai 2003 · letzter Beitrag vom 14. Mai 2003
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.317 Beiträge
 
Delphi 2006 Professional
 
#11
  Alt 13. Mai 2003, 14:17
Zitat von Stanlay Hanks:
Also so wie ich das verstehe, weißt du ihm als onclick ereignis ein menü zu. Und das kann ja nicht gehen.
Nein tue ich nicht. ich weiße dem OnCloick-Ereignis ein Event-Hanmdler zu das ist in Ordnung.

@dopeline: Hast du auch irgendwo das:
Delphi-Quellcode:
procedure TForm1.MyMenuItemClick(Sender: TObject);
var
  ini : TiniFile;
  s : String;
begin
  ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'\mru.ini');
  try
    s := ini.ReadString('MRU', IntToStr((Sender as TMenuItem).Tag), ''); // Schlüsselwert an Hand des Tags indentifizieren
    ShowMessage(s); // Und ausgeben
  finally
    ini.Free;
  end;
end;
geschrieben?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#12
  Alt 13. Mai 2003, 14:30
oh mann! ich bin ja vielleicht bedeppert...
ich habe MyMenuItem statt MyMenuItemClick geschrieben...

ok, also wenn ich das programm öffne, eine datei einlade, das programm wieder schließe und wieder öffne, steht unter "Beenden" die datei. das ist cool. allerdings, wenn ich jetzt 30 dateien (nacheinander) geöffnet habe, steht erst beim nächsten neustarten des programms die ganze liste von 30 dateien...
wie sage ich ihm, dass er wenn ich eine datei öffne, die dadurch eben geschlossene datei im menu angezeigt wird?

(außerdem muss da noch irgentwie eine begrenzung rein, sonst sehe ich bald mein programm nicht mehr, vor lauter einträgen *g*)

dopeline
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.317 Beiträge
 
Delphi 2006 Professional
 
#13
  Alt 13. Mai 2003, 14:36
Das habe ich ja geschriebn, dass da noch eien Begrenzung rein muß. Also alles kann und will ich dir nicht vorkauen. Du brauchst das ja und nicht ich.

Zu deinem anderen Problem: Kuck dir mal an, wann was in meinem Code passiert.

Etwas anpassen, mußt du ihn eben schon für deine Bedürfnisse.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#14
  Alt 13. Mai 2003, 16:52
Wie kann ich denn diese ini-datei "leeren"?
hab es jetzt so eingerichtet, dass wenn man auf "History lehren" klickt, die ini-datei gelöscht wird. aber aus irgenteinem grund wird, wenn man dann das programm startet, eine datei lädt und das programm dann neustartet, die eben geöffnete datei nicht in die ini übertragen...
liegt das vielleicht daran, dass ich die ini-datei vorher gelöscht habe und er erst bei der 2. datei diese wieder übernimmt?
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#15
  Alt 13. Mai 2003, 17:32
@Luckie: Rückzug....so weit hab ich mal wieder nicht gedacht... sorry.

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.317 Beiträge
 
Delphi 2006 Professional
 
#16
  Alt 13. Mai 2003, 20:09
hast du mal in die Ini-Datei gekuckt? Wohl nicht, sonst hättest du was anderes gefragt.

Der Hund liegt hier begraben:
Delphi-Quellcode:
          for i := 0 to slKeyNumbers.Count-1 do
          begin
            NewItem := TMenuItem.Create(mnuFile);
            NewItem.Caption := '&'+IntToStr(i)+' '+ExtractFilename(ini.ReadString('MRU', IntToStr(i), ''));
            if NewItem.Caption = 'then
              continue;
            NewItem.Tag := i;
            NewItem.OnClick := MyMenuItemClick;
            mnuFile.Insert(mnuFile.Count, NewItem);
          end;
Wenn ein Eintrag drin ist, dann läuft die Schleife von? Genau 0 bis ein Eintrag minus eins, also genau wie viel mal? Gar kein mal. Nimm das minus eins bei der for-Schleife raus.

Mann, das Ding habe ich in 20 Minuten zusammengekloppt. Es sollte ja auch nur das Prinzip verdeutlichen. Ich habe nie den Anspruch auf perfekten Code erhoben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#17
  Alt 13. Mai 2003, 20:25
Hallo,

ich habe es nach Delphi-Language verschoben.

Grüsse, Daniel
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#18
  Alt 14. Mai 2003, 13:48
@lucky
Vielen Dank für deine Hilfe! (wüsste nicht, was ich ohne dich gemacht hätte... )
kannst du mir noch sagen, wie ich verhindere, dass in dem menü einträge soppelt auftauchen? (also, wenn ich 2x die gleiche datei geöffnet habe, steht dann dort auch 2x dieselbe)

Grüße, dopeline
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf