AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

dateinamen merken zum speichern

Ein Thema von Andreas L. · begonnen am 27. Nov 2005 · letzter Beitrag vom 27. Nov 2005
Antwort Antwort
Andreas L.
(Gast)

n/a Beiträge
 
#1

dateinamen merken zum speichern

  Alt 27. Nov 2005, 08:57
Hi,
in meiner Anwendung werden zur Laufzeit Tabsheets auf einen Pagecontrol erzeugt. Auf den Tabsheets befinden sich jeweils ein SynEdit. Jetzt möchte ich eine Funktion einbauen die es ermöglicht ein SynEdit welches bereits abgespeichert wurde oder aus einer vorhandenen Datei geöffnet wurde direkt zu speichern ohne den Speichern-Dialog zu öffnen. Wie ich speichere ist klar: (PageControl1.ActivePage.Controls[0] as TSynEdit).Lines.SavetoFile(path); Aber ich muss ja irgendwie erst mal den Pfad rausfinden. Also muss der Pfad beim "Öffnen/Speichern unter" irgendwo gespeichert werden. Und beim direkten Speichern muss dieser Pfad dann benutzt werden. Also dachte ich mir ich nehme eine Listbox und speichere da die Pfade. Listbox-Itemindex entspricht dann pagecontrol-pageindex. Das hat aber zu einer menge Fehlern geführt. Z. B. dieser. Außerdem ist die Lösung nicht wirklich professionell. Klar hätte ich auch eine StringList benutzen können, ändert aber auch nichts and der Sachlage...

Hoffe das man es verstehen kann

Ich habe auch schon gesucht aber anscheinend verwende ich nicht die korrekten Suchbegriffe!

Weiß jemand wie dieses Problem professionell und einfach gelöst werden kann.

Vielen Dank!
  Mit Zitat antworten Zitat
tigerman33

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

Re: dateinamen merken zum speichern

  Alt 27. Nov 2005, 09:30
In der Tag-property des Pagecontrols könntest du einen Zeiger auf den entsprechenden Dateinamen-String speichern:

PageControl1.Tag := @TheFilename;
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#3

Re: dateinamen merken zum speichern

  Alt 27. Nov 2005, 09:40
Zitat von tigerman33:
In der Tag-property des Pagecontrols könntest du einen Zeiger auf den entsprechenden Dateinamen-String speichern:

PageControl1.Tag := @TheFilename;
Wie genau geht das?
  Mit Zitat antworten Zitat
tigerman33

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

Re: dateinamen merken zum speichern

  Alt 27. Nov 2005, 09:58
Genau so wie es da steht.

TheFilename ist ein String, in dem du den Dateinamen gespeichert hast. Aufpassen: Das darf keine lokale Variable sein, denn deren Speicher würde nach Verlassen der Prozedur/Funktion wieder freigegeben werden. Mit dem @-Operator greifst du auf die Speicheradresse dieses Strings zu. Da das ein 4-Byte cardinal ist, kannst du den ohne Probleme der Tag-property des Tabpage zuweisen. Fällt mir gerade auf: Oben hab ich einen Fehler gemacht. Darf natürlich nicht PageControl1.Tag sein, sonder Tabpage1.Tag (oder wie die pages auch immer heißen).

Zuweisen:
Tabpage1.Tag := @TheFilename; Auslesen:
Delphi-Quellcode:
type TPString = ^string;
var s: string;
begin
...
if Tabpage1.Tag <> 0 then // entspricht nil
  s := TPString(Tabpage1.Tag)^;
...
end;
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  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 00:23 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