| |
|
|
- Seite 1 - |
|
| Hier werden Wünsche geäußert.
[box:174b705055]Ich wünsche mir für XProfan10:[/box:174b705055] isset(a&) zum Prüfen ob a& declariert ist unset(a&) zum undeklarieren von a& sort(array[&|$]) / Sortierbefehle für Arrays Startpaint -1 benötigt kein %hwnd mehr, und/oder %hwnd (Hauptfenster) kann erzeugt werden ohne in der Taskbar zu erscheinen hiword und loword im Sprachschatz clearlist mit Handle als Parameter löscht Listboxinhalt .
Salve. |
|
|
| |
|
|
| |
|
- Seite 10 - |
|
|
RGH | [quote:c53f1a91e6=Dietmar Horn]1. Die Möglichkeit der bedingten Compilierung.[/quote:c53f1a91e6] Hallo, die bedingte Compilierung wird es definitiv geben. Die Sytax habe ich an die von Delphi angelehnt:
$DEFINE Name: setzt eine Bedingung $UNDEF Name: setzt eine Bedingung zurück $IFDEF Name: der folgende Code wird nur compiliert, wenn die Bedingung gesetzt ist $IFNDEF Name: der folgende Code wird nur compiliert, wenn die Bedingung nicht gesetzt ist $ELSE : wechselt zwischen compilieren und nicht compilieren $ENDIF : beendet das bedingungsabhängige compilieren/nicht compilieren.
(Für den Interpreter ist das Wort compileren durch ausführen zu ersetzen.)
Im Interpreter sind die Bedingungen WIN32, VER10.0 und INTERPRETER standardmäßig gesetzt, im Compiler die Bedingungen WIN32, VER10.0.und COMPILER. (Bei Bedarf können auch diese Bedingungen mit $UNDEF zurückgesetzt werden.) Verschachtelung ist erlaubt.
Ich hoffe, daß die nächste Subscriptionslieferung, die diese und andere Erweiterungen enthält, noch dieses Wochenende versandt wird.
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 28.04.2006 ▲ |
|
|
|
|
Torsten Rümker | Hallo, mir ist gerade etwas aufgefallen, das mir bei Profan irgendwie noch fehlt. Und zwar folgendes:
Es ist ja mit Writeini und Readini relativ einfach Einträge in die Registry zu machen, und auch sie auszulesen. Aber sie wieder zu entfernen ist so ohne weiteres nicht möglich.
Also wäre mein Wunsch eine Möglichkeit einzelne Schlüssel und Zweige aus der Registry löschen zu können.
[Edit] Eine Möglichkeit in der Registry nach Schlüsseln, Werten und Daten zu suchen wäre natürlich auch schön, ist aber wohl nicht so wichtig[/Edit] MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 01.05.2006 ▲ |
|
|
|
|
Jac de Lad | Naja, ich hatte immer wieder Probleme Registryeinträge mittels ReadIni auszulesen (vor allem wenn sie nicht existierten -> Programmabsturz). Vielleicht kann da auch so noch was verbessert werden...
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 01.05.2006 ▲ |
|
|
|
|
RGH | [quote:5f2a90a3d1=Jacob Liebeck]Ach ja und vier Befehle a la PutWord, PutLong und GetWord und GetLong zum Lesen/Schreiben von Words/Long in Dateien wären eine echte Erleichterung!Jac [/quote:5f2a90a3d1] Ok, in der nächsten Subscriptionsversion gibt es diese Funktionen und Befehle und ich setze sogar noch eins drauf:
PutByte #n, b& schreibt ein Byte in die Datei. PutWord #n, w& schreibt ein Word (2 Byte) in die Datei. PutLong #n, l& schreibt ein LongInt (4 Byte) in die Datei PutChar #n, s$ schreibt den String s$ in die Datei (so viele Bytes wie der String lang ist)
b& = GetByte (#n) liest ein Byte aus der Datei. w& = GetWord (#n) liest ein Word aus der Datei. l& = GetLong (#n) liest ein LongInt aus der Datei. s$ = GetChar$ (#n, anz&) liest anz& Bytes aus der Datei in den String s$.
Die Datei muß mit OpenRW (im Binärmodus) geöffnet worden sein und es wird immer beginnend mit der aktuellen Dateiposition geschrieben bzw. gelesen.
Ein kleines Beispiel: KompilierenMarkierenSeparieren In der nächsten Subscriptionsfunktion wird es funktionieren!
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 01.05.2006 ▲ |
|
|
|
|
RGH | [quote:cd239c5ae4=iF]func file_get_contents(filename$) gibt als String (oder mem) den kompletten Inhalt aus Datei filename$ zurück. proc file_put_contents( filename$,{string$|mem#} ) schreibt halt string$ oder mem# in Datei filename$. [/quote:cd239c5ae4] Ok, diese beiden Wünsche sind durch die Erweiterung von BlockWrite und BlockRead() ja schon umgesetzt. (s.o.)
[quote:cd239c5ae4]Aber noch viel wichtiger: Eine native Funktion zum ermitteln eines freien Dateihandles für assign-Anweisungen. [/quote:cd239c5ae4] Ab der nächsten Subscriptionslieferung gibt es Assign auch als Funktion. Das erledigt beides in einem Aufwasch: Ermitteln des freien Handles und das Assign:
hDatei& = Assign(Datei$)
Der Datei Datei$ Wird das nächste ungenutzte Dateihandle zugewiesen. Ist keines mehr frei, gibt es eine Fehlermeldung. Ist Datei$ ein Leerstring, erfolgt keine Zuweisung und das ermittelte Dateihandle bleibt frei. In dem Zusammenhang wurde jetzt konsequent dafür gesorgt, daß das # bei Dateihandles auch weggelassen kann. (Eine Ausnahme bildet PRINT # und INPUT #, da es ja von PRINT und INPUT ohne Dateiangabe unterschieden werden muß.)
Beispiel: KompilierenMarkierenSeparieren Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 01.05.2006 ▲ |
|
|
|
|
Michael Wodrich | Beim letzten Beispiel ist sehr gut zu sehen, daß das Handle zugewiesen bleibt.
Was passiert wenn ich die Handles nicht freigebe? Sind sie dann irgendwann alle, alle...?
Wie gebe ich die Handle-Variablen Version frei? (bei der mit # ist es ja klar; einfach Leerstring angeben - aber bei der Funktionsversion bekomme ich ja kein bestimmtes Handle zu fassen...)
z.B. so? UnAssign Handle&
oder: UnAssign #1 UnAssign( Handle&)
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 02.05.2006 ▲ |
|
|
|
|
Michael Wodrich | In der Hilfe steht (ziemlich versteckt), daß das Namensraum-Symbol bei Konstanten nicht funktioniert.
Wird das behoben oder soll es so bleiben? Mir wäre es lieb, wenn ich auch Konstanten in einer Unit angeben könnte (und da wäre das Namensraum-Symbol halt angebracht).
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 02.05.2006 ▲ |
|
|
|
|
RGH | [quote:1c94bbedb4=Michael Wodrich]Was passiert wenn ich die Handles nicht freigebe? Sind sie dann irgendwann alle, alle...?[/quote:1c94bbedb4] Ja, natürlich. Dann gibt es eine entsprechende Fehlermeldung. [quote:1c94bbedb4]Wie gebe ich die Handle-Variablen Version frei? (bei der mit # ist es ja klar; einfach Leerstring angeben - aber bei der Funktionsversion bekomme ich ja kein bestimmtes Handle zu fassen...)[/quote:1c94bbedb4] So wie bisher: Assign Handle&, oder Assign #Handle&,. (Ob mit # oder ohne ist bei allen Dateifunktionen egal.) Man kann ein nicht mehr benötigtes Handle auch einfach einer anderen Datei zuweisen: Assign Handle&, Datei$. Der alte Assign-Befehl bleibt weiterhin erhalten und hat durchaus noch seine Berechtigung.
Gruß Roland
Echtes fopen/fclose dann so: [...] |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 02.05.2006 ▲ |
|
|
|
|
RGH | [quote:e3c7004013=iF]iF: isset(a&) zum Prüfen ob a& declariert ist[/quote:e3c7004013] Ich habe für die nächste Subscriptionsversion SizeOf so erweitert, daß a) auch die Größe von anderen als Bereichsvariablen ermittelt werden kann und b) im Falle daß die Variable nicht existiert, -1 als Ergebnis ausgegeben wird.
Funktion a) ist relativ nutzlos, da diese Variablen eben immer Float (Size = 8 ), Longint/Integer (Size = 4) oder String (Size = Len(String)) sind.
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 02.05.2006 ▲ |
|
|
|
|
Nico Madysa | Da der Leerstring-Parameter der Listboxen jetzt (wenn auch als Zahl) verwendet wird, ist mir eine Idee für Combo-Boxen gekommen; da könnte man es so ähnlich machen. 1 steht für unsortiert, mit 2 lässt sich auch Text per Tastatur eingeben und 3 bewirkt beides. Unsortiertheit und Texteingabe konnten ja bereits mit Profan² 6.6 realisiert werden.
P.S.: Ich hoffe, ich erhalte diesmal eine Antwort auf meinen Beitrag. |
|
|
| |
|
|
|
RGH | [quote:59378368a8=Nico Madysa]Da der Leerstring-Parameter der Listboxen jetzt (wenn auch als Zahl) verwendet wird, ist mir eine Idee für Combo-Boxen gekommen; da könnte man es so ähnlich machen. 1 steht für unsortiert, mit 2 lässt sich auch Text per Tastatur eingeben und 3 bewirkt beides.[/quote:59378368a8] Gute Idee! Ist in der nächsten Subscriptionslieferung (heute Abend?) bereits mit drin!
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 03.05.2006 ▲ |
|
|
|
|
Jac de Lad | Hallo Roland!
Erstmal Danke für die Implementierung von PutLong und so weiter!!! Aber ist es nicht irgendwie verwirrend, dass du PutChar verwendest um einen String, und nicht ein einzelnes Zeichen (Char) zu schreiben? Naja, ich weiß, dass GetString$ ja schon vergeben ist und es deshalb warscheinlich schwierig werden würde...eben nur etwas verwirrend...ach ist eigentlich egal, ich werde mich schon dran gewöhnen! Die neuen Funktionen/Prozeduren sind unheimlich nützlich und genau das, was ich mir schon lange gewünscht habe!
Danke, Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 03.05.2006 ▲ |
|
|
|