Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi Push und Pop von Propertyinhalten auf einer Form (https://www.delphipraxis.net/128289-push-und-pop-von-propertyinhalten-auf-einer-form.html)

WS1976 27. Jan 2009 13:48


Push und Pop von Propertyinhalten auf einer Form
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
manchmal ergibt es sich, dass man die Inhalte von sehr vielen Textfeldern (oder andere controls die Strings enthalten), die auf einer Form liegen, abspeichern (oder zwischenspeichern) oder laden muss.
Dazu ist diese Unit mit den Prozeduren Push und Pop gedacht.

Delphi-Quellcode:
Save to stack
procedure Pop(var st:tstringlist;aForm: TForm; const aProperty: string = 'Text');
Alle Properties die die Bezeichnung aProperty haben und auf aForm liegen werden gespeichert.
Delphi-Quellcode:
Load from stack
procedure Push(var st:tstringlist;aForm: TForm; const aProperty: string = 'Text');
Alle Properties die die Bezeichnung aProperty haben und auf dem Stack liegen werden wiederhergestellt.

Die Prozeduren: MySetWideStrProp, MyGetWideStrProp sind von Sharky (hier aus dem Forum).

Zu bemerken ist noch, dass es keine dynamischen Veränderungen (selbst erzeugte Edits oder so) auf der Form geben darf.

Grüsse
Rainer

sirius 27. Jan 2009 13:50

Re: Push und Pop von Propertyinhalten auf einer Form
 
Ich nehme an, das geht nur mit published Properties?

WS1976 27. Jan 2009 13:55

Re: Push und Pop von Propertyinhalten auf einer Form
 
Hallo sirius,

hab ich noch nicht probiert. Kommt darauf an wie gut Sharky war (hihi).

Grüsse
Rainer

sirius 27. Jan 2009 13:57

Re: Push und Pop von Propertyinhalten auf einer Form
 
Hab grad reingesehen: Ja es geht nur damit. Und das liegt nicht an Sharky sondern an Delphi.

Dann hätte ich noch 3 Fragen:
Was macht die globale Variable s, die auch nie gelöscht wird?
Wozu die RessourceStrings?
Und warum Widestrings?

WS1976 27. Jan 2009 14:06

Re: Push und Pop von Propertyinhalten auf einer Form
 
Hallo,

1.) s wird mit Stack_free gelöscht. Muss von Aussen angestossen werden.
2.) Wo werden Ressourcestrings benutzt?
3.) Nur für alle Fälle. Könnte ja sein, dass wir widestrings benötigen.

Grüsse
Rainer

himitsu 27. Jan 2009 14:24

Re: Push und Pop von Propertyinhalten auf einer Form
 
3) nimm einfach String
in 'nem Unicode-Delphi (z.B. D2009) ist es WideString/UnicodeString
und ansonsten AnsiString

WS1976 29. Jan 2009 05:31

Re: Push und Pop von Propertyinhalten auf einer Form
 
Hallo,

das Ganze bleibt bei widestrings. Kann keinen Grund erkennen warum das geändert werden soll.
Es wäre nett wenn das jemand in die Codelib verschieben könnte.

Grüsse
Rainer

sirius 30. Jan 2009 13:43

Re: Push und Pop von Propertyinhalten auf einer Form
 
Zitat:

Zitat von WS1976
Hallo,
2.) Wo werden Ressourcestrings benutzt?

Steht doch in der Unit. Musst nur mal in den Source nach dem Wort fahnden. Da wird er definiert, kommt also mit in das Programm. Ich sehe aber nirgends, dass du ihn benutzt.

Und diese globale Variable, welche auch noch von außen zugänglich ist, ist eine große Fehlerquelle. Ich finde die benötigt man nicht.


btw: In die Codelib dauert eine Weile. Schau mal, wie viele Beiträge noch vor diesem sind!

worker 30. Jan 2009 14:04

Re: Push und Pop von Propertyinhalten auf einer Form
 
Zitat:

Zitat von WS1976
Es wäre nett wenn das jemand in die Codelib verschieben könnte.

Hmm :gruebel:

Zitat:

Zitat von WS1976
wenn du den Code schon ihn die Codelib schieben willst, dann bitte in der fertigen Form als Unit.

Zitat:

Zitat von WS1976
Es ist doch wohl so, dass eine gebrauchsfertige Lösung immer
besser ist als ein paar hingeworfene Codeschnipsel.

Mit Deinen eigenen Worten gesprochen ist Dein eigener Beitrag wohl noch nicht reif für die CodeLib, wenn man sirius' Anmerkungen berücksichtigt :mrgreen:

Desweiteren finde ich es für eine Unit, die Du einer Vielzahl von Leuten zur Verfügung stellen willst, etwas überzogen, jeden Prozedur-/Funktionsrumpf im Implementationsteil mit Deinem Namen zu verzieren. Genügt da nicht ein Hinweis zu Beginn der Unit?!

WS1976 6. Feb 2009 05:35

Re: Push und Pop von Propertyinhalten auf einer Form
 
Hallo,

Zitat:

Mit Deinen eigenen Worten gesprochen ist Dein eigener Beitrag wohl noch nicht reif für die CodeLib, wenn man sirius' Anmerkungen berücksichtigt
wegen zweier eingetragener überflüssiger Ressourcestrings regst du dich auf?
Schaut lieber auf den Inhalt, darauf kommt es an.
Wenn ihr das Ganze nicht in die Codelib verschieben wollt, dann lasst es.

Grüsse
Rainer


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 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