Deutsch
Wünsche und Anregungen

XProfan10 - Wünsche

 
- 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.
 
19.06.2005  
 



 
- Seite 8 -



RGH
Hallo iF,
das artet dann ja schon fast in einen Stringlisten-Ersatz aus.
Was Stringlisten betrifft, bin ich mit mir noch nich einig, wie ich diese realisiere. Geplant ist es schon!
Eine Variante wäre in der Tat, Strings als Stringlisten zu behandeln. Die andere Variante wäre, mit hStrList& = Create(List) Stringlisten zu erzeugen und diese dann mit den bekannten Listenfunktionen (Addlist, InsertList, DeleteList, etc.) zu bearbeiten. Deine Funktion könnte dann z.B. noch als SetList(hStrList&, N&, neuStr$) hinzugefügt werden.

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
21.04.2006  
 




Ragnar
Rehbein
hallo roland!

stringlisten wären im moment die nr. 1 auf meiner wunschliste.
gerade innerhalb von klassen würde das für die datenhaltung ungemein helfen (z.b. für die zwischenspeicherung von sql select -abfragen)
bisher habe ich überwiegend listboxen eingesetzt, die aber etliche nachteile haben (setzen ein hauptfenster voraus und erzeugen unter bestimmten SP von windows schutzverletzungen)

in diesem zusammenhang wäre ein moven der profan listboxliste in die stringliste gut, oder noch besser ein neuer sqlexec parameter der das ergebnis der abfrage direkt in eine stringliste schiebt. (sqlexec select * from tabelle,4,hStrList&)

noch mal eine andere frage. denkst du, das es mal möglich sein wird in XProfan echte threadmöglichkeiten einzubauen ? bisher bleibt leider nur eine externe DLL. auch mit Profan2CPP ist es schwierig und erzeugt teilweise merkwürdige fehler.

r.r.
 
21.04.2006  
 



@Roland: Wow - meinst Du sowas hier (  [...]  ) nur nativ und damit schneller?

@Ragnar: Ich glaube Roland müsste dann viele Funktionen kapseln - ich glaub das würde dann leider doch sehr zu Lasten der Abarbeitung gehen. Ich würde gerne in einem anderen Thread über Probleme von echten XProfanthreads mehr darüber erfahren falls Du schon Tests gemacht hast.

 
21.04.2006  
 




Clemens
Meier
Einen Vorschlag hätte ich noch und ich glaube, er könnte sich auch realisieren lassen. Unter XProfan ist es nicht möglich, hinter einem if, while oder until eine Wertzuweisung vorzunehmen, so wie es in so manch anderer Programmiersprache gibt. Also so etwas wie in PHP:

while (file$ = readmyfile())
do something
wend

XProfan würde in dem Fall prüfen, ob der Inhalt von file$ dem Rückgabewert der Funktion/Prozedur readmyfile identisch ist. XProfan hätte auch ein Problem, den Unterschied zwischen Zuweisung und Vergleich zu erkennen. Aber vielleicht könnte man einen speziellen Konstrukt verwenden, damit es XProfan doch möglich ist, denn eine Zuweisung in der obigen Form erleichtert einem doch sehr das leben:

Möglicher Konstrukt für XProfan:
while (file$) = readmyfile()
do something
wend

Also, die Variable steht in einer eigenen Klammer, der Rest ist offen. Das While bezieht sich auf die Klammer, das = wird dann als Zuweisungsoperator erkannt.

Oder man führt die geschweifte Klammer ein:
while {file$ = readmyfile()} ...

XProfan könnte den Inhalt der geschweiften Klammer als Zuweisung erkennen, war die Zuweisung <> 0 bzw. <> false, bzw. <> NULL etc, wäre der Ausdruck wahr.

 
XProfan 9.1; XP SP2; FF; Editpad
22.04.2006  
 




Frank
Abbing
Ersparniss: Eine Zeile...
 
22.04.2006  
 




RGH
[quote:228e80a12c=Clemens Meier]Also von wegen eine Zeile, das war wohl ein wenig zuvoreilig geschrieben.[/quote:228e80a12c]
Völlig unabhängig von der Zeilenzahl kann dieses Konstrukt (Zuweisung innerhalb eines Ausdruckes) in XProfan schon deshalb nicht funktionieren, weil die Zuweisung ein Befehl ist (auch wenn das Befehlswort LET in Anlehnung an BASIC weggelassen werden kann). Ein Befehl kann immer nur am Anfang einer Zeile stehen und eben nicht in einem Ausdruck. Um Deinen Wunsch zu realisieren, wäre also ein ziemlich großer Eingriff in die innere Struktur von XProfan notwendig.

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
22.04.2006  
 




RGH
[quote:691298bdc0=Clemens Meier]
while (file$ = readmyfile())
do something
wend[/quote:691298bdc0]
Das würde ich in XProfan so schreiben:
KompilierenMarkierenSeparieren
!file$ = readmyfile()

while file$ <> ""

    do something
    file$ = readmyfile()

endwhile


Ich denke, es geht auch ohne Zuweisung im Ausdruck hinter WHILE bzw. WHILENOT. Und in manchen Fällen vermeidet auch die fußgesteuerte Schleife (REPEAT ... UNTIL Bedingung) überflüssige Programmzeilen.
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
22.04.2006  
 




Clemens
Meier
[quote:3cf0fae77c=RGH]Um Deinen Wunsch zu realisieren, wäre also ein ziemlich großer Eingriff in die innere Struktur von XProfan notwendig.[/quote:3cf0fae77c]
Tja, in dem Fall: Schade
 
XProfan 9.1; XP SP2; FF; Editpad
22.04.2006  
 




RGH
NACHTRAG: Grid wurde um den Parameter Typ% erweitert, so dass auch hier nun eine Sortierung und die Wahl zwischen Ein- und Mehrfachauswahl möglich ist! Auch Listbox und GridBox wurden entsprechend erweiter. (Siehe oben!)

[quote:67b0b14ced=Ragnar Rehbein]hallo roland! stringlisten wären im moment die nr. 1 auf meiner wunschliste.
r.r.[/quote:67b0b14ced]
Hallo Ragnar, ab der nächsten Subscriptionslieferung sind sie vorhanden:
Mit create(List, Typ%) wird eine stringliste erzeugt, die mit den gleichen Funktionen bearbeitet werden kann, wie die mit create(ListBox,...) erzeugten Listboxen. Beim Typ% steht 1 für sortiert und 2 für Mehrfachauswahl. Diese Eigenschaften können kombiniert werden. (Ja, in XProfan können Elemente einer Stringliste markiert werden, genau wie in einer Listbox!)
Ein Beispielcode;
KompilierenMarkierenSeparieren
! Programm listtest.prf
Declare hSL&
Cls
1. Stringliste erstellen
Typ 3 = Sortiert und Mehrfachauswahl
hSL&   = Create("List", 3)
2. hier werden der String-Liste Zeilen hinzugefügt
AddString(hSL&, "AB")
AddString(hSL&, "GHI")
AddString(hSL&, "|")
AddString(hSL&, "STUV")
AddString(hSL&, "ABCD12STUVW")
AddString(hSL&, "ABCD34stuvw")
AddString(hSL&, "Abcd45STUVW")
AddString(hSL&, "Abcd56StUVW")
AddString(hSL&, "Abcd56AbxVW")
AddString(hSL&, "Abcd67STUVW")
InsertString(hSL&, 5, "Hugo was here")
3. Stringliste ausgeben

WhileLoop 0, GetCount(hSL&)-1

    Print GetString$(hSL&, &loop)

EndWhile

Print "--------------"
4. Strings auswählen
Print SelectString(hSL&, -1, "Hugo")
Print SelectString(hSL&, -1, "GHI")
5. Jetzt auswerten
Print Str$(GetSelCount(hSL&)) + "/" + Str$(GetCount(hSL&))

WhileLoop 0, GetCount(hSL&)-1

    If GetState(hSL&, &loop) > 0

        Print GetString$(hSL&, &loop)

    EndIf

EndWhile

WaitInput
End

Aber das ist noch nicht alles! Es gibt nun auch Stringgrids, die mehrere Spalten haben können. Erzeugt werden sie mit create(Grid, Spalten%, Typ%). Der Typ% hat die gleiche Funktion wie bei List. (Das Gridcontrol der letzten Lieferung wurde dafür in GridBox umgetauft, was eh besser zu ListBox, ChoiceBox und EditBox paßt.). Auch hier funktionieren alle Funktionen, die auch bei einer GridBox funktionieren. Ein Beispiel:
KompilierenMarkierenSeparieren
! Programm gridtest.prf
Declare X%, Feld$
Declare hGrid&
Cls
1. String-Grid erstellen
Typ 2 = Mehrfachauswahl
hGrid&   = Create("Grid", 3, 2)
2. hier werden die String-Grid-Zeilen hinzugefügt
AddString(hGrid&, "AB|DEF|0123")
AddString(hGrid&, "GHI|J23KL|012345")
AddString(hGrid&, "|MNOP|PQR|")
AddString(hGrid&, "STU||V")
AddString(hGrid&, "ABCD12|STUVW|XYZ0")
AddString(hGrid&, "ABCD34|stuvw|999,00")
AddString(hGrid&, "Abcd45|STUVW|-111,11")
AddString(hGrid&, "Abcd56|StUVW|2.111,11")
AddString(hGrid&, "Abcd56|AbxVW|-15.234,56")
AddString(hGrid&, "Abcd67|STUVW|0,00")
X% = InsertString(hGrid&, 5, "")
SetText hGrid&, X%, 0, "Hugo"
SetText hGrid&, X%, 1, "war"
SetText hGrid&, X%, 2, "hier"
3. Gridbox-Inhalt ausgeben

WhileLoop 0, GetCount(hGrid&)-1

    Print GetString$(hGrid&, &loop)

EndWhile

Print "--------------"
4. Strings selektieren
Print SelectString(hGrid&, -1, "Hugo")
Print SelectString(hGrid&, -1, "GHI")
Print SelectString(hGrid&, 6, "Hugo")
5. Jetzt auswerten
Print Str$(GetSelCount(hGrid&)) + "/" + Str$(GetCount(hGrid&))
Jetzt werden die selektierten Zeilen ausgegeben

WhileLoop 0, GetCount(hGrid&)-1

    X% = &Loop

    If GetState(hGrid&, X%) > 0

        Print GetString$(hGrid&, X%)
        Feld$ = ""

        WhileLoop 0, 2   3 Spalten

            Feld$ = Feld$ + GetText$(hGrid&, X%, &Loop) + " / "

        EndWhile

        Print Feld$

    EndIf

EndWhile

WaitInput
End

Ach ja: Hinter diesen neuen Controls verbergen sich natürlich die Windowscontrols Listbox und SysListView32, allerdings ohne jede Beziehung zu einem Elternfenster oder Größe oder Anzeigeoptionen, eben als pure Datenspeicher!

Ich hoffe, daß die 6. Subscriptionslieferung mit den neuen Möglichkeiten noch heute rausgeht.

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
22.04.2006  
 




Jac
de
Lad
Hallo Roland!

Kannst du es vielleicht einrichten, dass Funktionen in Klassen, die keine Parameter haben, kein () benötigen? Oder dies vielleicht allgemein auf alle Funktionen ohne Parameter ausweiten? Fänd ich jedenfalls gut.

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
23.04.2006  
 




Andreas
Gaida
Hi!
Echte Threads das wäre eine Super Sache wenn man sie unter XProfan 10 realisieren könnte

MfG
Andreas
 
Athlon X2 4800 , 2GB Ram , GeForce 7800GT
Windows XP Pro , XProfan 10 und 11 , Profan2Cpp 1.6b
25.04.2006  
 




RGH
[quote:39eb735042=Jacob Liebeck]Hallo Roland!

Kannst du es vielleicht einrichten, dass Funktionen in Klassen, die keine Parameter haben, kein () benötigen? Oder dies vielleicht allgemein auf alle Funktionen ohne Parameter ausweiten? Fänd ich jedenfalls gut.

Jac [/quote:39eb735042]
Das wird leider nicht gehen, da in XProfan eine Funktion ja gerade daran erkannt wird, daß ein Klammerausdruck folgt!

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
25.04.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

47.833 Betrachtungen

Unbenanntvor 0 min.
RudiB.07.04.2016
H.Brill26.11.2014
Peter Max Müller06.09.2014
mj04.05.2014
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie