Das funktioniert allerdings nicht so richtig automatisiert, weil man diese API-Funktion nach jeder Änderung der Inhalte für jede Spalte, die betroffen ist, erneut aufrufen muss. Das kann bei sehr vielen Gridbox-Einträgen und/oder -Spalten auch ganz schön lange dauern. Vielleicht wäre aber eine Aufnahme dieser Möglichkeit über die API in die XProfan-Hilfe nicht verkehrt.
Zukunft XProfan
-
-
-
Müßte man mal schauen, ob es auch für Änderungen der Inhalte von Spalten eine Message gibt, wo man z.b. über UserMessages das automatisieren könnte. Klar, bei sehr vielen Gridbox-Einträgen wird das uninteressant. Aber bei Normalbenutzung, wie bei mir, ist es schon interessant. Und wenn es wirklich mal mehr Einträge gibt, hat man ja auch noch die Möglichkeit, bei dieser Aktion die Gridbox kurzzeitig auszublenden. Ist ja immer das Neuzeichnen, das aufhält.
-
Vielleicht noch was für Roland.
Analog zu %GetCount, das ja immer gepflegt wird, wenn ein neuer Eintrag in die interne Listboxliste kommt oder einer gelöscht wird, wäre ein
als Systemvariable auch nicht schlecht. Gerade, wenn man einen Bereich dimensionieren will um mit
den Inhalt zu kopieren. Ginge ja dann in einem Abwasch.
-
Ich hätte da noch einen Vorschlag bezüglich BlockRead() und BlockWrite().
Im Moment kann man ja damit mit dem ersten Parameter nur in Dateien schreiben bzw. von Dateien lesen. Was nun die Strukturen in Bereichen betrifft, scheint es ja nicht so flexibel zu sein. Wie wäre es denn, wenn der erste Parameter bei BlockRead(#N|D|Bereich#, ...) auch zusätzlich einen Bereich# aktzeptieren würde ? B wäre dann ein Bereich mit Struktur und N1 + N2 wären dann der Offset von Bereich# und halt die Anzahl. Hier kommt man ja nur schlecht weiter, wenn die Struktur auch numerische Werte enthält. Somit könnte man aus einer großen Bereichsvariablen, in der hintereinander die Strukturen stehen, die einzelnen Strukturen wieder auslesen, indem man den Offset um die Größe der Struktur immer wieder erhöht..
Genauso sollte man analog dann mit BlockWrite(#N|D|Bereich#, B, N1, N2) die Struktur, die in B steht, an Offset N1 von Bereich# und N2(Länge der Struktur) auch schreiben können. Der Bereich# muß natürlich vorher entsprechend groß dimensioniert werden: Oder vielleicht kann das auch von Roland übernommen werden, indem er den Bereich entsprechend vergößert, wenn er zu klein ist..
Das Ganze wäre ja so eine Art CopyMemory, das man auch ohne Strukturen brauchen könnte. Wenn das Aufbohren von BlockWrite() und BlockRead() nicht gehen sollte, könnte Roland diese Funktionalitäten auch als extra Funktion bzw. Befehl gestalten.
Klar ist, daß es mit dynamischen Arrays mit Strukturen auch irgendwie gehen würde, aber ich fände so ein CopyMemory irgendwie besser.
-
Was die anderen Dinge betrifft sammele ich erst mal und werde dann wohl Anfang nächsten Jahre eine abschließende Version herausbringen.
Das ist ja mittlerweile schon 12 Monate her.
Hallo, nun ist ja schon bald wieder ein Jahr vorbei. Leider gab es bei XProfan nichts neues. Auch von Roland war sehr selten was zu sehen, außer den fast täglichen, mehrfachen Besuchen, wo er nur zum Lesen zugegen war.
Nun denke ich, daß es allmählich an der Zeit wäre, daß Roland mal ein paar Worte hierzu schreibt. Kommt noch eine abschließende Version oder war die Version X4 die letzte ? So, wie auch ich, gibt es bestimmt noch mehrere, die gerne mal Bescheid wüßten. Wenn keine Endversion mehr kommen sollte, ist es ja auch nicht weiter schlimm. Schließlich ist Roland ja 70 geworden und hätte seinen Ruhestand in punkto XProfan ja auch verdient. Die Version X4 bleibt natürlich weiterhin mein Favorit, auch wenn nichts Neues mehr kommen sollte.
Über eine klare Aussage von Roland wären wir hier ja alle dankbar.
-
Über eine klare Aussage von Roland wären wir hier ja alle dankbar.
Dieser Aussage kann Ich mich nur Anschließen.
-
Ich habe da gerade mal wieder rumgespielt und bin auf ein Problem gestoßen.
CodeDeclare Int Zahl CLS TextColor 0, -1 While 1 CLS RGB(196, 196, 188) DrawText 4, 4, "Ein Test " + Str$(Zahl) Inc Zahl WaitInput EndWhileEs wird also bei jedem Klick der Text mit einer neuen Zahl neu geschrieben. So weit, so gut. Aber wenn ich das Fenster in seiner Position verändere oder minimiere und dann wieder aufmache, dann verliert TextColor seine Gültigkeit, es wird schwarz auf weiß geschrieben.
Soll das so sein?
Gruß Volkmar
-
Nimm das TextColor dann auch in die Schleife :
CodeDeclare Int Zahl CLS 'TextColor 0, -1 While 1 TextColor 0, -1 CLS RGB(196, 196, 188) DrawText 4, 4, "Ein Test " + Str$(Zahl) Inc Zahl WaitInput EndWhileIch könnte mir das so vorstellen : Das TextColor gilt für das Fenster mit CLS. Da du aber in der Schleife immer wieder ein CLS machst, wirkt es dann nicht mehr. Ob das nun so sein soll, kann ich dir auch nicht sagen.
Jedenfalls funktioniert es mal so.
-
Ja, sonst mache ich das auch so, deshalb ist mir die Frage auch noch nie gekommen. Aber das ist mir jetzt so passiert und ich fand das seltsam. Das TextColor steht ja auch bei Deinem Beispiel vor CLS, obwohl es dann funktioniert? Und es bleibt ja auch immer das selbe Fenster.
Gruß Volkmar
-
Ist ja schon etwas merkwürdig. Habe jetzt mal mit Set("AutoPaint", 0) gespielt.
Setze das mal vor deine Schleife. Das Vergrößern zum Vollbild und wieder zurück mittels dem Menü oben rechts wäre damit behoben. Bloß beim manuellen Ändern kommt ganz kurz ein weißer Bildschirm.
Vielleicht kommst du damit der Merkwürdigkeit etwas näher. Es scheint so, daß RGH das manuelle Verändern der Größe in seiner Messageverwaltung nicht extra behandelt. Vielleicht liege ich da auch falsch ?
-
Das Problem bleibt. Der Hintergrund der Schrift ist dann weiß, nicht mehr transparent.
Ist jetzt auch nicht wichtig, normalerweise schreibe ich solche grafischen Ausgaben als Block, wo ich TextColor, Use... u.s.w. jedesmal neu definiere. War jetzt nur eine einfache Spielerei, wo ich nichts Anderes als eine Schriftfarbe haben wollte. Da bin ich davon ausgegangen, daß dieses ganze Zeugs global bis zur nächsten Änderung gilt. Daß Größenänderungen des Fensters da noch Überraschungen bringen, hätte ich nicht gedacht.
Gruß Volkmar
-
Hallo,
ich meine mich zu erinnern, dass XProfan den Fensterinhalt aus %HDC2 wiederherstellt, wenn er durch irgendeine Aktion überschrieben wird (also vermutlich immer dann, wenn das System ein WM_PAINT auslöst). Durch das CLS scheint irgendwie auch der BkMode der beiden DCs zurückgesetzt zu werden. Wenn man das so wie hier drunter ersichtlich macht, funktioniert es offenbar bei allen denkbaren Fensteränderungen:
Code
Alles anzeigen$H windows.ph Declare Int Zahl CLS 'TextColor 0, -1 While 1 CLS RGB(196, 196, 188) ~SetBkMode(%HDC,~TRANSPARENT) 'das ist nichts anderes als -1 als 2. Parameter bei TextColor ~SetBkMode(%HDC2,~TRANSPARENT) DrawText 4, 4, "Ein Test " + Str$(Zahl) Inc Zahl WaitInput EndWhileEs kann aber auch sein, dass im DC2 aus irgendwelchen Gründen immer der BkMode zurückgesetzt wird, so ganz bin ich da noch nicht durchgestiegen.
-
Sowas in der Richtung dürfte es sein. Allerdings nicht beim CLS, das Problem taucht nur bei Größenänderungen des Fensters auf. Ein reines CLS macht keinen Ärger. Klick ins Fenster ändert den Text und die Einstellungen bleiben trotz CLS erhalten.
Naja, war auch nur ein Nebeneffekt, weil ich für eine kleine Spielerei dachte, es geht auch so. Ich wollte nur konstant eine Textfarbe haben. CLS hat es ja überstanden, erst als ich dann mal das Fenster minimiert habe, trat der Effekt auf. Also immer schön wie gehabt vor einer Ausgabesequenz die nötigen Parameter setzen, auch wenn die schon da sein sollten

Gruß Volkmar
-
In der Hoffnung, dass Roland hier noch mitliest und irgendwann vielleicht doch nochmal irgendwann, eines Tages ein Patch kommt: Ich habe das TrayIcon-Problem unter Windows 11 bei verborgenen Hauptfenstern gelöst. Das lässt sich sicher auch einfach in den XProfan-Code integrieren.
Siehe hier: https://xprofan.net/intl/de/forum/trayicon-msg-windows-11/
Beste Grüße, ein frohes Fest und einen guten Rutsch,
Jens-Arne -
Nach meiner Erfahrung liest RGH (oder sein Account,auch Heute) immer mit .
Es wird Aber NIE geantwortet !!! Auf keinerlei Frage oder Vorschläge der Fragenden.
Somit ist XPROFAN ist für mich TOT , Schade eigentlich .Da kommt nichts mehr.
Da auch keine Reaktion vom Autor RGH kommt .













Achso Ich habe vergessen EUCH ALLEN EINEN GUTEN RUTSCH zu wünschen. VIiiiiiel Gensundheit für ALLE
-
Nach meiner Erfahrung liest RGH (oder sein Account,auch Heute) immer mit .
Es wird Aber NIE geantwortet !!! Auf keinerlei Frage oder Vorschläge der Fragenden.
Sowas hatten wir ja letztes Jahr auch schon, wo er sich dann plötzlich doch noch schriftlich hier meldete. Ich kenne Roland ja schon 30 Jahre. Ungewöhnlich ist es schon, da er sich sonst immer zu Wort meldete, wenn es um Fragen, Anregungen usw. zu (X)Profan ging. Nun gut, er ist ja auch mittlerweile 70 geworden. Vielleicht gelingt ihm so manches auch nicht mehr so, wie er es möchte.Wr alle werden ja älter und wissen nicht, wie es uns mal ergeht.
XProfan finde ich immer noch gut, wenn es um das Erlernen von Grundlagen (z.b. Kontrollstrukturen, Variablen, Arrays usw.) geht und auch, um kleinere Tools zum täglichen Gebrauch zu schreiben. Gerade die Einfachheit, um mit CLS, Print..., Waitkey erste Ergebnisse zu erhalten, finde ich genial. Man kann sofort zum Wesentlichen kommen, ohne sich großartig um um ein Fenster kümmern zu müssen. Wenn halt nichts mehr Neues kommen sollte, fände ich es schade, wenn so ein Lebenswerk sang - und klanglos hier untergeht.
Wenn dem so ist, mein Vorschlag an ihn :
Er könnte Version X4 als Freeware anbieten. Auch wäre ein Kontakt zu den großen Zeitschriften, wie CHIP, PC-Welt, PC-Magazin, Freeware.de usw. anzustreben. Diese könnten dann XProfan4 als Freeware auf ihren CDs oder als Link anbieten. Da gibt es bestimmt einige Interessenten, die XProfan mal ausprobieren möchten und evtl. auch weiter nutzen würden. Damit bliebe XProfan wenigstens für eine gewisse Zeit lang im Gespräch. Wenn RGH das nicht mehr selber erledigen könnte, gäbe es im Familien- oder Bekanntenkreis bestimmt jemanden, der das für ihn übernehmen könnte. Da würde sich nötigenfalls auch jemand hier im Forum finden lassen.
Mir ist es ja Anfang der 90er selber so ergangen. Ich hatte damals Profan als Shareware in einer PC-Zeitschrift (glaube es war PC-Magazin) entdeckt.
-
Er könnte Version X4 als Freeware anbieten. Auch wäre ein Kontakt zu den großen Zeitschriften, wie CHIP, PC-Welt, PC-Magazin, Freeware.de usw. anzustreben. Diese könnten dann XProfan4 als Freeware auf ihren CDs oder als Link anbieten. Da gibt es bestimmt einige Interessenten, die XProfan mal ausprobieren möchten und evtl. auch weiter nutzen würden. Damit bliebe XProfan wenigstens für eine gewisse Zeit lang im Gespräch. Wenn RGH das nicht mehr selber erledigen könnte, gäbe es im Familien- oder Bekanntenkreis bestimmt jemanden, der das für ihn übernehmen könnte. Da würde sich nötigenfalls auch jemand hier im Forum finden lassen.
Mir ist es ja Anfang der 90er selber so ergangen. Ich hatte damals Profan als Shareware in einer PC-Zeitschrift (glaube es war PC-Magazin) entdeckt.
Ich glaube, wir diskutierten schon einmal darüber und ich sehe da gar keine Chance für XProfan. Wann hast du denn das letzte Mal eine Programmiersprache bei diesen Magazinen gesehen? Und sowas wie c*t Programmierung ist schon lange vom Markt verschwunden.
Ich will nicht sagen, das Profan tot ist. Tot ist eine Sprache nie (siehe GFA-BASIC oder PowerBASIC) ABer einen Markt sehe ich für die Sprache auch nicht mehr.
RGH wird Gründe haben, weshalb er sich nicht mehr äußert. Übrigens steht mit Xojo wohl eine weitere Sprache auf dem Abstellgleis.
Frohes Neues! -
Ich will nicht sagen, das Profan tot ist. Tot ist eine Sprache nie (siehe GFA-BASIC oder PowerBASIC) ABer einen Markt sehe ich für die Sprache auch nicht mehr.
Einen Markt gibt es bei vielen dieser Nischenprogrammiersprachen nicht. Gut verdienen konnten da andere auch nicht. Wenn ich mir PureBasic anschaue, das zwar noch einigermaßen lebt, so dümpelt das mittlerweile im deutschsprachigen Raum auch nur noch vor sich hin, trotz lebenslanger Updates. Da kommt auch kaum noch was Neues. Die PC-Programmierung ist auch etwas unzeitgemäß geworden. Die junge Generation setzt da lieber auf Smartphones.
Xojo hatte ich mir vor Jahren auch mal angeschaut. Aber das war viel in der Vollversion viel zu teuer, wenn man nur im privaten Bereich programmiert. Ähnlich schaut das auch mit Delphi aus.
Aber worauf ich hinaus wollte : Auch wenn RGH irgendwelche Gründe hat, ob es nun weitergeht oder nicht, so könnte er wenigstens ein paar klare Worte schreiben. Da reicht ja schon einfach ein
"Es gibt noch ein Update bzw. Endversion"
oder halt
"Ich höre mit XProfan auf und es gibt nichts mehr Neues"
Aber hier die Veteranen, die ihm jahrzentelang die Stange hielten, und Interessierten einfach im Dunkeln stehen zu lassen, finde ich nicht gut. Zumal er ja mal gesagt hatte, daß es eine Endversion geben würde. Außer letzten Sommer, wo er verlauten ließ, daß die Anpassung an 64Bit wohl nicht funktionieren wird, kam da nichts mehr. Kein weiterer Zwischenbericht zum Stand, noch sonst was. Wenn er seine Meinung mittlerweile geändert hat und doch nichts mehr macht, wäre das ja auch OK. Bloß sollte er uns darüber informieren.
-
Tja, warum RGH seine einst treue Gemeinde so ignoriert, darüber kann man nur spekulieren. Vielleicht hat er selbst keinen Plan, was er machen soll. Vielleicht kompiliert aber auch gerade jetzt die finale Version von XProfan. Wer weiß das schon - außer der schweigsame RGH.
-
Vielleicht hat er selbst keinen Plan, was er machen soll.
Einen Plan wird er wohl schon noch haben. Aber vielleicht kann er das alles gar nicht mehr so umsetzen, wie er möchte. Da ahne ich nichts Gutes. Gerade, wenn jemand sein Verhalten ohne erkennbaren Grund genau ins Gegenteil umdreht. Solange Roland hier nichts schreibt, bleibt meine unangehme Vorahnung mir erhalten. Wenn die Ungewissheit beseitigt würde und sich alles zm Guten wendet, wäre es mir dann auch wohler.
-