
[V] PureBasic
@Metaller:
mir scheint, das du nur beispiele verwendest und dich nicht wirklich mit der materie auseinander setzt. ok, kann man machen. dann wirst du aber immer mal wieder daran scheitern programme aus einer anderen programmiersprache umzusetzen. fange wir mal hiermit an:
was soll das?
zu RegisterWindowMessage_. laut api ist der zu verwendene parameter ein pointer auf einen null-terminierten string. wo kommt die konstante #MSGNAME1 her? das wird nie und nimmer ein pointer sein.
ok, sollte RegisterWindowMessage_ =0 sein ist der fehler laut api mit GetLastError ( in PB ein _ anhängen) zu 'erfragen'.
eine WindowMessage würde also wie folgt registriert:
#MSGNAME1 sollte also ein string sein und zwar einer der in den programmen die miteinander kommunizieren wollen, identisch ist. warum? kannste hier nachlesen:
ERR_REGMSG kann keine konstante sein. das macht gar keinen sinn. wenn es eine fehlermeldung wäre, würde es ja bedeuten, das es nur einen möglichen fehler bei RegisterWindowMessage gäbe.
nein, es hilft nix. du musst dich schon mit der WinAPI bzw. mit dem was du zum erreichen deines ziele benötigst auseinandersetzen.
und ob du jetzt c++ lernst oder pb oder eine andere programmiersprache ist egal. du wirst nicht da rum herrum kommen dich mit den grundlagen (bei windows eben die api) zu beschäftigen, wenn du vom verwenden von beispielen bzw. vom anpassen von beipsielen wegkommen willst. so wirst du nie wirklich verstehen warum was funktioniert, wie mir auch deine ersten beispiele hier in diesem thread gezeigt haben.
hinzu kommt, das man nur dann ein programm von zum beispiel c++ nach pb portieren kann, wenn man auch c++ versteht. wie sonst soll man wissen, was der c++ code bedeuten soll? alternativ 'reicht' die aufgabenstellung. dann aber ist es kein portieren mehr, sondern eine neu-programmierung.
mir scheint, das du nur beispiele verwendest und dich nicht wirklich mit der materie auseinander setzt. ok, kann man machen. dann wirst du aber immer mal wieder daran scheitern programme aus einer anderen programmiersprache umzusetzen. fange wir mal hiermit an:
Code: Alles auswählen
in PB
m_msg = RegisterWindowMessage_(#MSGNAME1)
If (m_msg = 0)
*pdwResult = #ERR_REGMSG
ProcedureReturn
EndIf
zu RegisterWindowMessage_. laut api ist der zu verwendene parameter ein pointer auf einen null-terminierten string. wo kommt die konstante #MSGNAME1 her? das wird nie und nimmer ein pointer sein.
ok, sollte RegisterWindowMessage_ =0 sein ist der fehler laut api mit GetLastError ( in PB ein _ anhängen) zu 'erfragen'.
eine WindowMessage würde also wie folgt registriert:
Code: Alles auswählen
m_msg = RegisterWindowMessage_("meine nachricht")
If (m_msg = 0)
rwmResult = GetLastError_()
EndIf
ERR_REGMSG kann keine konstante sein. das macht gar keinen sinn. wenn es eine fehlermeldung wäre, würde es ja bedeuten, das es nur einen möglichen fehler bei RegisterWindowMessage gäbe.
nein, es hilft nix. du musst dich schon mit der WinAPI bzw. mit dem was du zum erreichen deines ziele benötigst auseinandersetzen.
und ob du jetzt c++ lernst oder pb oder eine andere programmiersprache ist egal. du wirst nicht da rum herrum kommen dich mit den grundlagen (bei windows eben die api) zu beschäftigen, wenn du vom verwenden von beispielen bzw. vom anpassen von beipsielen wegkommen willst. so wirst du nie wirklich verstehen warum was funktioniert, wie mir auch deine ersten beispiele hier in diesem thread gezeigt haben.
hinzu kommt, das man nur dann ein programm von zum beispiel c++ nach pb portieren kann, wenn man auch c++ versteht. wie sonst soll man wissen, was der c++ code bedeuten soll? alternativ 'reicht' die aufgabenstellung. dann aber ist es kein portieren mehr, sondern eine neu-programmierung.
Keine Sprache löst dein Problem. Du löst das Problem. Die Sprache ist nur Werkzeug.
1. Danke für die Hinweise
2. Erstmal bitte keine Ausschnitte aus dem Gesamten zitieren. Dadurch bekommt es gleich einen anderen Sinn.
3. Es ist vollkommen egal ob ich der RegisterWindowMessage_ eine Konstante übergebe oder einen Pointer auf einen String. Es kommt beides auf's gleiche raus.
4. Ich kopiere nicht irgendwelche Codes hin und her, sondern schreibe sie neu (nicht mit abtippen verwechseln).
5. Ich habe mich schon lang und breit mit der WinAPI und den Befehlen die ich daraus verwende auseinandergesetzt.
6. Es ist erstmal vollkommen egal ob ich die Fehlermeldung bei einer Nicht-Registrierung, also bei einem Fehler, den Fehler einem Zeiger übergebe, den Fehler per #False zurückgebe, den Fehler per GetLastError_-Abfrage und, und, und, da es in meinem Programm nicht zu einem Fehler kommt und die IF-Bedingung False ergibt. Die Auswertung der Fehler bleibt dem Programmierer überlassen, soweit es die Funktion erlaubt.
7. Meine Grundlagen in C++ oder VB sind für die Quelltexte voll und ganz ausreichend, wenn man bei den Quelltexten bei einer Version der Programmiersprache geblieben wäre
Bitte nicht falsch verstehen was ich gerade geschrieben habe. Ich habe mich wirklich sehr stark mit dem Problem auseinandergesetzt. Ich bin auch keiner der sich hinsetzt und sag "schreib mir das Programm mal fertig". Ich möchte auch verstehen wie das Programm funktioniert.
2. Erstmal bitte keine Ausschnitte aus dem Gesamten zitieren. Dadurch bekommt es gleich einen anderen Sinn.
3. Es ist vollkommen egal ob ich der RegisterWindowMessage_ eine Konstante übergebe oder einen Pointer auf einen String. Es kommt beides auf's gleiche raus.
4. Ich kopiere nicht irgendwelche Codes hin und her, sondern schreibe sie neu (nicht mit abtippen verwechseln).
5. Ich habe mich schon lang und breit mit der WinAPI und den Befehlen die ich daraus verwende auseinandergesetzt.
6. Es ist erstmal vollkommen egal ob ich die Fehlermeldung bei einer Nicht-Registrierung, also bei einem Fehler, den Fehler einem Zeiger übergebe, den Fehler per #False zurückgebe, den Fehler per GetLastError_-Abfrage und, und, und, da es in meinem Programm nicht zu einem Fehler kommt und die IF-Bedingung False ergibt. Die Auswertung der Fehler bleibt dem Programmierer überlassen, soweit es die Funktion erlaubt.
7. Meine Grundlagen in C++ oder VB sind für die Quelltexte voll und ganz ausreichend, wenn man bei den Quelltexten bei einer Version der Programmiersprache geblieben wäre

Bitte nicht falsch verstehen was ich gerade geschrieben habe. Ich habe mich wirklich sehr stark mit dem Problem auseinandergesetzt. Ich bin auch keiner der sich hinsetzt und sag "schreib mir das Programm mal fertig". Ich möchte auch verstehen wie das Programm funktioniert.
- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
@edel, du sagst es. Ich kann mir im Bezug auf Hardware so auch nix darunter vorstellen ohne irgendwie den gesamten Source zu sehen.
Was nützen einem nur Declares und Constanten, ohne den source zu kennen.
Da könnte man lange raten bis man zum Gewünschten kommt.
@Metaller, vielleicht wäre es für Dich und uns allen einfacher, wenn man
deinen Source (sei's C++ etc.) sehen kann, was du da haben musst.
Ich glaube schon, das hier einige C-freaks dir sehr wohl weiterhelfen könnten, damit auch du merkst wie gut PB wirklich ist.
In Sachen ASM, wenn ich dich richig verstanden habe, kennst du dich damit sehr gut aus.
Wie hast du das mit den ASM-Schnipseln im PB - source eingebaut? Einmal
kann man das z.B. ein einfaches mov... schreiben. Aber soweit ich weis, gibt es in PB auch die Möglichkeit,
wenn man unter Compilereinstellungen die InlineASMUnterstützung einschaltet auch mit !mov usw. nutzen kann.
Unter Google findest du TASM bzw. FASM der diesen ASM code auf korrekte Syntax etc. testen kann.
Eine Hilfe dazu findest du auch auf PureArea.net, welche Befehle alle genutzt werden können.
Dazu muss ich aber sagen, das ich mit ASM nicht viel am Hut habe. Eine direkte PN auf speziellen Sachen dazu könntest du z.b. an freak schicken,
der dir dabei auch weiterhelfen würde.
Was nützen einem nur Declares und Constanten, ohne den source zu kennen.
Da könnte man lange raten bis man zum Gewünschten kommt.
@Metaller, vielleicht wäre es für Dich und uns allen einfacher, wenn man
deinen Source (sei's C++ etc.) sehen kann, was du da haben musst.
Ich glaube schon, das hier einige C-freaks dir sehr wohl weiterhelfen könnten, damit auch du merkst wie gut PB wirklich ist.
In Sachen ASM, wenn ich dich richig verstanden habe, kennst du dich damit sehr gut aus.
Wie hast du das mit den ASM-Schnipseln im PB - source eingebaut? Einmal
kann man das z.B. ein einfaches mov... schreiben. Aber soweit ich weis, gibt es in PB auch die Möglichkeit,
wenn man unter Compilereinstellungen die InlineASMUnterstützung einschaltet auch mit !mov usw. nutzen kann.
Unter Google findest du TASM bzw. FASM der diesen ASM code auf korrekte Syntax etc. testen kann.
Eine Hilfe dazu findest du auch auf PureArea.net, welche Befehle alle genutzt werden können.
Dazu muss ich aber sagen, das ich mit ASM nicht viel am Hut habe. Eine direkte PN auf speziellen Sachen dazu könntest du z.b. an freak schicken,
der dir dabei auch weiterhelfen würde.
Das stimmt, wenn du vor den ASM-Befehl ein Ausrufezeichen schreibst (!), wird der ASM-Code nicht von PureBasic verarbeitet und geprüft, er wird direkt an den Assembler übergeben. Dadurch kannst du alle Features von FASM auch in PB nutzen.Falko hat geschrieben:
Wie hast du das mit den ASM-Schnipseln im PB - source eingebaut? Einmal
kann man das z.B. ein einfaches mov... schreiben. Aber soweit ich weis, gibt es in PB auch die Möglichkeit,
wenn man unter Compilereinstellungen die InlineASMUnterstützung einschaltet auch mit !mov usw. nutzen kann.
Unter Google findest du TASM bzw. FASM der diesen ASM code auf korrekte Syntax etc. testen kann.
Eine Hilfe dazu findest du auch auf PureArea.net, welche Befehle alle genutzt werden können.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!

Wer eine schnelle Mark verdienen möchte, der kann sich das mal durchlesen und mir eine PM schicken: http://www.purebasic.fr/german/viewtopic.php?t=10685
Re: [V] PureBasic
Also ich persönlich konnte mir als Laie schon einige Programmiersprachen anschauen.Metaller hat geschrieben:Ich möchte meine PureBasic Version verkaufen, da sie meinen Anforderungen nicht nachkommtSie ist eine Woche alt und voll Update fähig. Bitte meldet Euch bei mir per PM. Danke.
Schönen Gruß... Metaller
So schnell und so einfach wie mit PB habe ich noch nie ein brauchbares Ergebnis erzielen können.

Also wenn ich PB noch nicht gekauft hätte, würde ich Dir es liebend gern abkaufen.

VG Hussi