PureBasic to go & ChatGPT4o

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

PureBasic to go & ChatGPT4o

Beitrag von tft »

Wie der eine oder andere mitbekommen hat.
Benutze ich als Unterstützung ChatGPT. Mittlerweile geht es ganz gut. Ohne eigenen Kenntnisse, die zur
Fehlerbehandlung benötigt werden. Kommt man aber nicht weit. Ich möchte euch ein Beispiel zeigen.

Ich habe das Problem gehabt. Das die Funktion FindWindow() plötzlich ständig meinte, das ein Fenster von mir
geöffnet sei.

Ich bin dem Problem hinterhergejagt und habe Folgendes festgestellt.

FindWindow() unterscheidet nicht, Gross- und Kleinschreibung. Es war noch der Explorer mit einem Fenster gleichen Namens offen. Ich habe dann mithilfe von ChatGPT einen Scanner für die Fensternamen und die Programmzugehörigkeit zusammengestellt. Den möchte ich euch nicht vorenthalten.

Gruss TFT

Code: Alles auswählen

; PureBasic Musterprogramm zur Ausgabe aller geöffneten Fenster und ihrer Programme in der Konsole
; mit einem geöffneten Fenster zur Sicherstellung des Loops

#MainWindow = 0
#WindowTitleLength = 256
#ProgramNameLength = 260

; Definieren der Konstanten
#PB_Process_QueryInformation = $0400
#PB_Process_VMRead = $0010

; Laden der psapi.dll Bibliothek
If OpenLibrary(0, "psapi.dll")
  Global GetProcessImageFileName_.i = GetFunction(0, "GetProcessImageFileNameW") ; Unicode-Version der Funktion
EndIf

Procedure EnumerateWindowsCallback(hwnd, lParam)
  Protected windowTitle.s = Space(#WindowTitleLength)
  Protected processID
  Protected processHandle
  Protected programName.s = Space(#ProgramNameLength)
  Protected exeName.s
  
  If GetWindowText_(hwnd, @windowTitle, #WindowTitleLength) > 0
    If windowTitle <> "Default IME" And windowTitle <> "MSCTFIME UI"
      GetWindowThreadProcessId_(hwnd, @processID)
      processHandle = OpenProcess_(#PB_Process_QueryInformation | #PB_Process_VMRead, #False, processID)
      
      If processHandle
        If CallFunctionFast(GetProcessImageFileName_, processHandle, programName, #ProgramNameLength) > 0
          ; Kürze den Pfadnamen auf den Namen der EXE-Datei
          exeName = GetFilePart(programName)
          PrintN("Fensterhandle: " + Str(hwnd) + ", Fenstername: " + windowTitle + ", Programm: " + exeName)
        EndIf
        CloseHandle_(processHandle)
      EndIf
    EndIf
  EndIf
  
  ProcedureReturn #True
EndProcedure

Procedure EnumerateWindows()
  PrintN("Liste der geöffneten Fenster und ihrer Programme:")
  EnumWindows_(@EnumerateWindowsCallback(), 0)
EndProcedure

Procedure MainLoop()
  Protected userInput.s
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
    
    ClearConsole()
    EnumerateWindows()
    
    Print("Drücken Sie die Eingabetaste, um die Liste zu aktualisieren oder 'q' zum Beenden: ")
    userInput = Input()
    If userInput = "q"
      End
    EndIf
    
  ForEver
EndProcedure

; Hauptprogramm
If OpenWindow(#MainWindow, 0, 0, 400, 300, "Hauptfenster", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If OpenConsole()
    MainLoop()
    CloseConsole()
  EndIf
  CloseWindow(#MainWindow)
EndIf

; Schließen der psapi.dll Bibliothek
CloseLibrary(0)

Code TFT & ChatGPT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
es_91
Beiträge: 410
Registriert: 25.01.2011 04:48

Re: PureBasic to go & ChatGPT4o

Beitrag von es_91 »

Ich bin neugierig. Kann ChatGPT PureBasic programmieren? Was schreibt man der KI?
SMaag
Beiträge: 184
Registriert: 08.05.2022 12:58

Re: PureBasic to go & ChatGPT4o

Beitrag von SMaag »

Fehler im Programmcode!
hier die korrigierte Zeile: (man muss den Stringpointer übergeben, nicht den String)

Zeile 30 im Code

Code: Alles auswählen


; original
If CallFunctionFast(GetProcessImageFileName_, processHandle, programName, #ProgramNameLength) > 0
; korrigiert
If CallFunctionFast(GetProcessImageFileName_, processHandle, @programName, #ProgramNameLength) > 0

es_91
Beiträge: 410
Registriert: 25.01.2011 04:48

Re: PureBasic to go & ChatGPT4o

Beitrag von es_91 »

es_91 hat geschrieben: 18.08.2024 20:31 Ich bin neugierig. Kann ChatGPT PureBasic programmieren? Was schreibt man der KI?
Hab's gerade ausprobiert. Ich bin arbeitslos. Bessergesagt, mein Hobby wurde deindividualisiert.

Vielleicht sollte das Forum eine KI-Ecke bekommen.

Früher hab ich meinen Vater gefragt, wie mp3 funktioniert. Nun steht das Buch des unendlichen Abgekupfertwissens im Android-Regal.

Muss mal meinen Pfarrer fragen ob das mit Gott OK ist. Oder ich frag einfach die KI...

Wozu bin ich eigentlich zur Schule gegangen?
Benutzeravatar
jacdelad
Beiträge: 404
Registriert: 03.02.2021 13:39
Wohnort: Riesa
Kontaktdaten:

Re: PureBasic to go & ChatGPT4o

Beitrag von jacdelad »

es_91 hat geschrieben: 19.08.2024 14:08 Vielleicht sollte das Forum eine KI-Ecke bekommen.
Oh Gott, nein! Wieso denken eigentlich so viele Leute, dass "KI" auf einmal unsere Programme schreiben kann?
Guten Morgen, das ist ein schöner Tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Re: PureBasic to go & ChatGPT4o

Beitrag von tft »

Ich benutze KI als Unterstützung. Aber wirklich programmieren kann das scheinbar noch nicht. Wenn ich den Prompt gut schreibe. Also genau beschreibe was ich möchte. Inklusive Ausnahmen und Besonderheiten. Dann sind die Ergebnisse gut. Aber ich muss halt selber wissen, was geht und was nicht. Sonst bekommt man nur 0815 vorlagen. Ist dann eher wie eine erweiterte Suchfunktion. Man lernt viel. Ich zumindest. Wenn du eine rekursive Routine schreibst und ChatGPT fragst. Was muss ich machen, um den vorliegenden Code vor einem Block zu schützen. Merkt man. Das CHatGPT nicht wirklich weis, wo das Problem liegt, das es beseitigen muss. Du musst es kleine klein beschreiben wo das Problem liegt und dann kommt ChatGPT auch auf eine Lösung. Diese sind aber meistens ..... unnötig kompliziert. Und berücksichtigen die Möglichkeiten der Sprache nicht. Aber als Assistent ist ChatGPT cool. Ich freue mich schon auf einen guten AVATAR.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PureBasic to go & ChatGPT4o

Beitrag von Kiffi »

https://claude.ai/ ist auch ganz nett.
a²+b²=mc²
Antworten