Werte in der laufzeit speichern

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
xXRobo_CubeXx
Beiträge: 120
Registriert: 12.06.2015 16:08
Computerausstattung: Version 5.41 LTS
Wohnort: Wohnort
Kontaktdaten:

Werte in der laufzeit speichern

Beitrag von xXRobo_CubeXx »

:) ich möchte Infos vorübergehend speichern aber nicht auf die hdd sondern nur in der Sessin. :cool: Das heißt meine Infos sind bis zum herunterfahren gültig.
Wenn mein Programm neu gestartet wird sind die Infos da aber wenn man PC neustartet dann nicht mehr. Wie macht man es? :roll:
Version 5.41 LTS :)
Benutzeravatar
udg
Beiträge: 566
Registriert: 20.06.2013 23:27

Re: Werte in der laufzeit speichern

Beitrag von udg »

Ich bin absolut kein Profi wie die Anderen hier :)
aber ich arbeite zzT an etwas, wo ich ebenfalls (jedoch nur TEXT) aus der Zwischenablage abrufe mit:

Case #btnBtn_Paste
SendMessage_(GadgetID(#GadgetiD),#WM_PASTE,0,0)
; schreibt den Inhalt aus Clipboard zu Gadget x, y

dies liest den Inhalt von irgend einem Gadget welches Du per iD angibst, oder TextDaten die in der Zwischenablage gerade sind und fügt sie dir in dein definiertes Ziel Gadget ein.

Ich hoffe dies hilft.

Lg
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: Werte in der laufzeit speichern

Beitrag von edel »

Unter Windows gibt es die Moeglichkeit mit der Funktion MoveFileEx, die Datei beim Neustart zu löschen. Setzt aber Adminrechte voraus.
Alternativ ein Task oder eine Batch im Autostart, welche man bei der Installation installieren kann.
Derren
Beiträge: 558
Registriert: 23.07.2011 02:08

Re: Werte in der laufzeit speichern

Beitrag von Derren »

Wir würden jetzt spontan zwei Workarounds einfallen.
1) Das Programm beendet sich gar nicht, sondern geht nur in den Systray
2) Auf Festplatte speichern aber einfach beim nächsten Programmstart entfernen (möglicherweise verschlüsselt mit dem Zeitpunkt seit dem der PC läuft. Somit müsste man zum entschlüsseln eben jenen Zeitpunkt genau kennen)
Signatur und so
Benutzeravatar
Imhotheb
Beiträge: 192
Registriert: 10.10.2014 13:14
Computerausstattung: Intel 8086, 640 KB RAM, Hercules Video Adapter, 2 x 5 1/4" 360kb Floppy, MS-DOS 3
Wohnort: Wolfenbüttel

Re: Werte in der laufzeit speichern

Beitrag von Imhotheb »

3) Einen Wert in der Registry speichern. z.B. Datum/Zeit und vergleichen wie lange Win schon läuft.
Aber du kannst nichts im Arbeitsspeicher behalten wenn dein Programm endet, da jeglicher Speicher nach dem beenden wieder freigegeben wird
weil einfach einfach einfach ist ... mach' ich es anders
Benutzeravatar
xXRobo_CubeXx
Beiträge: 120
Registriert: 12.06.2015 16:08
Computerausstattung: Version 5.41 LTS
Wohnort: Wohnort
Kontaktdaten:

Re: Werte in der laufzeit speichern

Beitrag von xXRobo_CubeXx »

Danke :) für eure Vorschläge und Lösungsansätze :allright:
Hab in der Hilfe geguckt und fand SetEnvironmentVariable - warum ist mein gespeicherter Wert nur bis Beenidung meines Tools gültig und danach nicht mehr? :roll:
Geht das auch für immer? :)
Version 5.41 LTS :)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Werte in der laufzeit speichern

Beitrag von ts-soft »

xXRobo_CubeXx hat geschrieben:und fand SetEnvironmentVariable - warum ist mein gespeicherter Wert nur bis Beenidung meines Tools gültig und danach nicht mehr? :roll:
Geht das auch für immer? :)
Die EnvironmentVariable ist nur vererbbar, d. h., nur Programme, die Du startest, erhalten den Wert. Mit dem Beenden von
Windows ist auch die EnvironmentVariable weg.

Abhilfe verschafft ein Eintrag in die Registry, so das die EnvironmentVariable der Shell hinzugefügt wird und somit für Alle
Anwendungen gültig ist, die ab dem Eintrag gestarted werden. Es geht also auch für immer, aber es ist, wie die gesamte Registry,
auf der HDD gespeichert und somit sind Deine Bedingungen nicht erfüllt.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Werte in der laufzeit speichern

Beitrag von RSBasic »

Oder einfach mit RunProgram() und "setx name wert". (für den aktuellen Benutzer)
Wenn du für alle Benutzer langfristig eine Umgebungsvariable anlegen möchtest, dann zusätzlich "/M". (Administratorrechte erforderlich)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten