Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

  • Mit der 64Bit Version der Programmiersprache (die gibt es auch kostenlos dazu, wenn man die Vollversion gekauft hat), lassen sich wirklich echte 64Bit Programme erstellen (auch DLLs) - habe das gerade getestet.
    32Bit Programme laufen auf 64Bit Systemen innerhalb eines Emulators (WOW64), da 64Bit Programme wesentlich mehr virtuellen Speicher und höhere Adressen nutzen können, als 32Bit Programme.
    Innerhalb dieses Emulator funktionieren bestimmte APIs nicht korrekt - aufgrund der Dateiumleitung und der fehlenden Möglichkeiten, auf Speicherbereiche oberhalb von 0xFFFFFFFF zuzugreifen.
    Ein paar Beispiele wären hier:

    Die Sprache scheint also ziemlich zukunftssicher zu sein.

  • Ich sehe gerade, dass die Verwendung von APIs in PureBasic recht komfortable zu sein scheint.
    Bei den meisten APIs muss man nur ein _ Zeichen anhängen und kann die Funktionen direkt ansprechen (zum Beispiel _GetModuleHandle(0)). Was ist da eigentlich alles eingebunden? Kann man sich da nach der MSDN Dokumentation richten?

  • Zitat von AHT;833199

    Ich sehe gerade, dass die Verwendung von APIs in PureBasic recht komfortable zu sein scheint.
    Bei den meisten APIs muss man nur ein _ Zeichen anhängen und kann die Funktionen direkt ansprechen (zum Beispiel _GetModuleHandle(0)). Was ist da eigentlich alles eingebunden? Kann man sich da nach der MSDN Dokumentation richten?


    Der Unterstrich gehört ans ende :D
    GetModuleHandle_(0)
    Alle APIs, die nicht erst mit Win2000 oder Höher eingeführt wurden, sind
    verfügbar.

    Code
    RunProgram(#PB_Compiler_Home + "Compilers\APIFunctionListing.txt")

    gibt Dir eine Übersicht, die aber evtl. nicht vollständig ist.


    Gruß
    Thomas

  • Sorry Schreibfehler :lol:. Mach wieder 3 Sachen gleichzeitig.
    Wie sieht es mit deiner LIB aus? Wo muss man die Sachen hinkopieren, damit sie PureBasic findet und wie bindet man die ein?
    Hammergeile Sprache... :-)

  • Zitat von AHT;833219

    Wie sieht es mit deiner LIB aus? Wo muss man die Sachen hinkopieren, damit sie PureBasic findet und wie bindet man die ein?
    Hammergeile Sprache... :-)


    Welche Lib? Eine UserLib?
    Ich erstelle eigentlich keine UserLibs mehr, so ist die wohl veraltet und wird
    mit der aktuellen PB version nicht harmonieren. Ansonsten kommen die Libs ins
    Unterverzeichnis UserLibs und die dazugehörigen *.res Dateien nach Residents.
    Evtl. vorhandene Hilfe nach Help (den Du evtl. erst noch erstellen mußt.
    Compiler Neustarten (Menüpunkt) oder IDE Neustarten.


    Normalerweise sind Userlibs so gepackt, das man das Pack nur über dem PB Verzeichnis entpackt.

  • NTDLL ist auch mit drin:


    Wie sieht das mit Strukturen aus - Beispielsweise LV_ITEM?
    Die müssten ja eigentlich auch vordefiniert sein.
    Hast du mal ein Beispiel dafür, wie man da mit solchen Strukturen umgeht?

  • In der IDE Alt + S drücken, Register L auswählen, LV_ITEM eingeben oder scrollen ;)


    Code
    Define bla.LV_ITEM
    Global bla.LV_ITEM
    Protected bla.LV_ITEM
    ;oder alles auch so:
    Define.LV_ITEM bla
    ;usw.

    Aber besser Du überfliegst erstmal 2-3x die Hilfe, das dauert natürlich ein paar
    Minütchen ;) , aber dann weißt Du, wo was zu finden ist.


    PS: Die Member werden mit \ Backslash angesprochen, nicht mit Punkt!

  • Zitat von ts-soft;833255

    In der IDE Alt + S drücken, Register L auswählen, LV_ITEM eingeben oder scrollen ;)


    Genau das suchte ich. Besten Dank!
    Adresse der Struktur wäre dann Bla

    Ich brauche nur einen kleinen Überblick, wo ich was finde. Der Rest erklärt sich selbst. Was einfacheres als die Sprache gibt's eigentlich gar nicht. :lol:

    Bin gerade angefangen, was umzuschreiben. Kann dauern, bis ich das fertig habe. Ich gebe dann mal Rückmeldung, wie schnell die Sprache wirklich ist. :-)

  • Ich finde die IDE gar nicht schlecht - die Befehle braucht man ja auch nicht komplett ausschreiben. Ist sehr bequem. Die API Unterstützung ist echt der Hammer. Ich glaube, wenn ich das erst mal eine Zeit lang benutzt habe, ist mir Profan viel zu umständlich und zu schwierig :lol:.
    Ich habe jetzt schon zum dritten mal meinen Quelltext gelöscht, weil ich zwischendurch festgestellt habe, dass ich das, was ich gerade umgeschrieben habe, in der Sprache gar nicht brauche. :D

  • Ich habe gerade die ersten Prozeduren für mein Proggie umgeschrieben und ich muss sagen, in Bezug auf die Einfachheit in der Programmierung lässt die Sprache XProfan meiner Meinung nach weit hinter sich. Habe mir noch nicht mal die Hilfe für die Sprache durchgelesen und hantiere schon erfolgreich im Expertenbereich und bei nativen APIs herum (habe erst vor zwei Tagen richtig mit der Sprache angefangen). :top:

    Das, was bei der API-Programmierung dort schon fest mit eingebaut ist, lässt das weit hinter sich, was in XProfan in irgendeiner Headerdatei steht.
    Sogar native Funktionen aus der NTDLL stehen da.

    Die Syntax der Sprache ist in sehr vielen Bereich mit der von XProfan zu
    vergleichen - ist aber (gerade bei den Speicher-Befehlen) noch weiter an Basic angelehnt.

    Es würde mich mal interessieren, was die Leute, die zur Zeit im XProfan Bereich sind und mit dieser Sprache Arbeiten, so an Programmen mit dieser Sprache erstellt haben. Vielleicht hättet ihr mal ein paar Links?

  • Nur einen Editor? Die Sprache kann doch viel mehr.
    Habe das erste kleine Programm von XProfan jetzt nach PureBasic umgeschrienen... :D

    • Die EXE ist auf 48KB geschrumpft. :lol:
    • Das Proggie list in einer Schleife zig-tausende Handeldaten aus, hantiert viel mit Srings herum und befüllt zum Schluss ein Listview mit den Daten (ist also was, was sowieso langsam ist) - ich habe es noch einmal optimiert und es läuft jetzt schon etwa 10x schneller als jeder andere Optimierungsversuch vorher.

    Die Sprache ist echt flink...

    Ich kann eigentlich die ganze Sprache nur empfehlen. Der Kauf ist komplett problemlos gewesen und ging sehr zügig - ich hatte vorher etwas bedenken gehabt, Geld vorab zu überweisen (war aber mehr als unbegründet). Als Einarbeitungszeit habe ich etwa zwei Tage gebraucht - wenn man von Profan kommt, kann man dann die Sprache (und das richtig). Ich glaube, einer der ungestört längere Zeit am Stück vor seinem PC sitzen kann, dürfte das noch schneller hinbekommen.
    API-Programmierung ist mit der Sprache sehr komfortabel - die anderen Sachen sind ebenfalls sehr gut zu durchschauen. Ist bestimmt auch für Einsteiger mit Batch oder Basic Grundkenntnissen geeignet.
    Für das, was die Sprache leisten kann, halte ich sie für sehr günstig. Der Funktionsumfang ist nicht von schlechten Eltern :D. Updates bekommt man zur Zeit ja auch kostenlos.

  • Zitat

    ...befüllt zum Schluss ein Listview mit den Daten (ist also was, was sowieso langsam ist) - ich habe es noch einmal optimiert und es läuft jetzt schon etwa 10x schneller als jeder andere Optimierungsversuch vorher.


    Dann mach es noch ein paarmal schneller, indem du vor dem Aktualisieren des Listviews die Message WM_SETREDRAW benutzt und den sofortigen Neuaufbau für jedes Item verhinderst. ;-)