AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge Programme bzw. Funktionen von KI schreiben lassen (OpenAI)
Thema durchsuchen
Ansicht
Themen-Optionen

Programme bzw. Funktionen von KI schreiben lassen (OpenAI)

Ein Thema von Harry Stahl · begonnen am 14. Dez 2022 · letzter Beitrag vom 4. Okt 2023
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#1

Programme bzw. Funktionen von KI schreiben lassen (OpenAI)

  Alt 14. Dez 2022, 22:28
Wow, habt Ihr schon mal ChatGTP ausprobiert?
(Man muss da leider einen Account anlegen, um das ausprobieren zu können).

Auf meine Aufforderung

"Write a function in Delphi pascal that adds to a netto value a tax value"

Gibt er mir das zurück:
Delphi-Quellcode:
Function AddTax(Netto : Real; Tax : Real) : Real;
Begin
  Result := Netto + (Netto * Tax);
End;
Weitere Beispiele:

"Write a function in Delphi pascal, that loads a textfile into a TMemo"

This is an example of how to use the LoadFromFile procedure to load a text file into a TMemo.

Delphi-Quellcode:
procedure LoadTextFileToMemo(const FileName: string; Memo: TMemo);
begin
  Memo.Lines.LoadFromFile(FileName);
end;
"Write a function in Delphi pascal, that shows a messagedialog with "yes", "no" and "cancel" buttons"

The following code shows a message dialog with "Yes", "No" and "Cancel" buttons:
Delphi-Quellcode:
function ShowYesNoCancelDialog(const Msg: string): Integer;
begin
  Result := MessageDlg(Msg, mtConfirmation, [mbYes, mbNo, mbCancel], 0);
end;
Wohin das wohl führen mag...?

Ich bin über dieses Video darauf gestoßen, das zeigt, dass noch sehr viel mehr geht: https://youtu.be/HtuXjfqwGPE?t=164

Interessanterweise liefert die KI wohl oft unterschiedliche Ergebnisse, wenn man die Frage öfter stellt.

Bei der zweiten Abfrage hier hat die KI sogar eine Art Bereichsprüfung eingebaut (also count > 0 usw):

"Write a function in Delphi pascal with firemonkey that exchanges two items in a Tlistbox"

Delphi-Quellcode:
procedure ExchangeItems(listBox : TListBox; index1, index2 : Integer);
var
  temp : String;
begin
  if (index1 <> index2) and (index1 >= 0) and (index1 < listBox.Count)
     and (index2 >= 0) and (index2 < listBox.Count) then
  begin
    temp := listBox.Items[index1];
    listBox.Items[index1] := listBox.Items[index2];
    listBox.Items[index2] := temp;
  end;
end;

Geändert von Harry Stahl (14. Dez 2022 um 23:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.690 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)

  Alt 14. Dez 2022, 23:16
Wohin das wohl führen mag...?
Bei StackOverflow zum Beispiel zu einem ban
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.226 Beiträge
 
Delphi 12 Athens
 
#3

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)

  Alt 14. Dez 2022, 23:48
Frag den mal nach einem Pacman-Clone oder nach FlappyBird ... bin gespannt ob da was Funktionierendes bei raus kommt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#4

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)

  Alt 15. Dez 2022, 04:02
Die Anzahl Zeichen der Antwort scheinen in dieser Preview-Version limitiert zu sein. Darum wird der Ouput am Ende abgeschnitten.

Frage zum Erstellen eines Pacman Programms:


Delphi-Quellcode:
program Pacman;

uses
  SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, ExtCtrls,
  Buttons, Dialogs;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Timer1: TTimer;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  GridWidth = 20;
  GridHeight = 15;
  InitialNumDots = 240;
  Speed = 200;

var
  Form1: TForm1;
  Grid: array[1..GridWidth, 1..GridHeight] of Integer;
  PacmanX, PacmanY, DotsEaten: Integer;
  Direction: Char;

procedure DrawGrid;
var
  X, Y: Integer;
begin
  with Form1.Image1.Canvas do
  begin
    Pen.Color := clBlack;
    Brush.Color := clWhite;
    Rectangle(0, 0, GridWidth * 20, GridHeight * 20);
    for X := 1 to GridWidth do
      for Y := 1 to GridHeight do
        if Grid[X, Y] = 1 then
        begin
          Brush.Color := clYellow;
          Ellipse((X - 1) * 20, (Y - 1) * 20, X * 20, Y * 20);
        end;
  end;
end;

procedure DrawPacman;
var
  X, Y: Integer;
begin
  X := PacmanX * 20 + 10;
  Y := PacmanY * 20 + 10;
  with Form1.Image1.Canvas do
  begin
    Brush.Color := clYellow;
    Pen.Color := clBlack;
    case Direction of
      'U': Arc(X - 10, Y - 10, X + 10, Y + 10, X, Y - 10, X, Y - 10);
      'D': Arc(X - 10, Y - 10, X + 10, Y + 10, X, Y + 10, X, Y + 10);
      'L': Arc(X - 10, Y - 10, X + 10, Y + 10, X - 10, Y, X - 10, Y);
      'R': Arc(X - 10, Y - 10, X + 10, Y + 10, X + 10, Y, X + 10, Y);
    end;
  end;
end;

function Wall(X, Y: Integer): Boolean;
begin
  Result := (X < 1) or (X > GridWidth) or (Y < 1) or (Y > GridHeight) or
    (Grid[X, Y] = 2);
end;

procedure MovePacman;
var
  NewX, NewY
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#5

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)

  Alt 15. Dez 2022, 04:13
Sehr beeindruckend finde ich den Versuch, ChatGPT eine neue Sprache erfinden zu lassen.

https://maximumeffort.substack.com/p...ent-a-language

Einleitung davon auf Deutsch übersetzt (thx deepl)

Wenn ChatGPT für die Sprachverarbeitung optimiert ist, könnte ich es dann dazu bringen, eine neue, in sich konsistente Sprache zu erfinden, mit mir in dieser Sprache zu sprechen und ein Programm zu schreiben, das diese Sprache ins Englische zurückübersetzt?

Ja. Ja, das kann es.

Ich bin wirklich verblüfft von dieser Fähigkeit. Das geht weit über alles hinaus, was ich von einem Modell erwarten würde, das auf die Vervollständigung von Texteingaben des Benutzers trainiert wurde.

Es versteht Nebensätze (d. h. es versteht mindestens eine Ebene der rekursiven Grammatik, die nach Chomsky die Grundlage der gesamten menschlichen Grammatik ist)

Es versteht, dass in flektierten Sprachen die Wortstellung keine Rolle spielt, wenn das Wort richtig flektiert ist, und nutzt diese Tatsache korrekt, um Sätze mit neuer Struktur zu erzeugen. Es weiß auch, dass die Reihenfolge bei nicht flektierten Wörtern eine Rolle spielt, und tauscht diese niemals aus.

Es ist nicht sehr gut darin, auf völlig neue Sätze zu verallgemeinern, aber es verallgemeinert bis zu einem gewissen Grad, und wenn man es bittet, Fragen in der erfundenen Sprache zu beantworten, auf die es kaum trainiert ist, antwortet es meistens richtig. Manchmal braucht es etwas Nachhilfe, aber das tun Menschen auch.

Es kann spontan in der erfundenen Sprache komponieren, zumindest mit größtenteils korrekter Grammatik und einem genauen Sinn für die Bedeutung.

Und wenn man ihn bittet, ein Python-Programm zu schreiben, das Sätze in der erfundenen Sprache übersetzt, tut er es, und der Code funktioniert. Es kann auch seinen eigenen Code debuggen, wenn es dazu aufgefordert wird.
  Mit Zitat antworten Zitat
fisipjm
Online

Registriert seit: 28. Okt 2013
253 Beiträge
 
#6

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)

  Alt 21. Dez 2022, 10:27
Die Anzahl Zeichen der Antwort scheinen in dieser Preview-Version limitiert zu sein. Darum wird der Ouput am Ende abgeschnitten.

Frage zum Erstellen eines Pacman Programms:


Delphi-Quellcode:
program Pacman;

uses
  SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, ExtCtrls,
  Buttons, Dialogs;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Timer1: TTimer;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  GridWidth = 20;
  GridHeight = 15;
  InitialNumDots = 240;
  Speed = 200;

var
  Form1: TForm1;
  Grid: array[1..GridWidth, 1..GridHeight] of Integer;
  PacmanX, PacmanY, DotsEaten: Integer;
  Direction: Char;

procedure DrawGrid;
var
  X, Y: Integer;
begin
  with Form1.Image1.Canvas do
  begin
    Pen.Color := clBlack;
    Brush.Color := clWhite;
    Rectangle(0, 0, GridWidth * 20, GridHeight * 20);
    for X := 1 to GridWidth do
      for Y := 1 to GridHeight do
        if Grid[X, Y] = 1 then
        begin
          Brush.Color := clYellow;
          Ellipse((X - 1) * 20, (Y - 1) * 20, X * 20, Y * 20);
        end;
  end;
end;

procedure DrawPacman;
var
  X, Y: Integer;
begin
  X := PacmanX * 20 + 10;
  Y := PacmanY * 20 + 10;
  with Form1.Image1.Canvas do
  begin
    Brush.Color := clYellow;
    Pen.Color := clBlack;
    case Direction of
      'U': Arc(X - 10, Y - 10, X + 10, Y + 10, X, Y - 10, X, Y - 10);
      'D': Arc(X - 10, Y - 10, X + 10, Y + 10, X, Y + 10, X, Y + 10);
      'L': Arc(X - 10, Y - 10, X + 10, Y + 10, X - 10, Y, X - 10, Y);
      'R': Arc(X - 10, Y - 10, X + 10, Y + 10, X + 10, Y, X + 10, Y);
    end;
  end;
end;

function Wall(X, Y: Integer): Boolean;
begin
  Result := (X < 1) or (X > GridWidth) or (Y < 1) or (Y > GridHeight) or
    (Grid[X, Y] = 2);
end;

procedure MovePacman;
var
  NewX, NewY
Da die Ki aber kontextbezogen arbeitet kannst du einfach "weiter" schreiben und es geht an gleicher Stelle weiter

Für alle die die Textgenerierung nicht so beeindruckend finden. Sage dem Bot doch einfach mal, dass er dir eine Pro liste mit 5 Punkten schreiben soll warum es für deinen Chef / Kunden gut wäre die mehr Gehalt bzw. Stundenlohn zu bezahlen.
Gern geschehen

Der argumentiert besser als 50% meiner Kollegen, in egal welchem Gebiet (Marketing, strategische Planung, Entwicklung) das ist erschreckend!

Geändert von fisipjm (21. Dez 2022 um 10:30 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.062 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)

  Alt 21. Dez 2022, 11:32
Da die Ki aber kontextbezogen arbeitet kannst du einfach "weiter" schreiben und es geht an gleicher Stelle weiter
Ah, cooler Trick, Dankeschön!
Damit geht auch gut das Übersetzen von längeren C Headern nach Delphi.
Ist zwar nicht perfekt, aber so lästigen Schreibkram (Argumentname und Argumenttyp ist ja bei C genau andersrum) nimmt er ein schon ab.
  Mit Zitat antworten Zitat
omnibrain

Registriert seit: 11. Nov 2022
65 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)

  Alt 15. Dez 2022, 08:51
"Write a function in Delphi pascal that adds to a netto value a tax value"

Gibt er mir das zurück:
Delphi-Quellcode:
Function AddTax(Netto : Real; Tax : Real) : Real;
Begin
  Result := Netto + (Netto * Tax);
End;
Wohin das wohl führen mag...?
Rundungsdifferenzen und unglückliche Kunden.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.311 Beiträge
 
Delphi 12 Athens
 
#9

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)

  Alt 15. Dez 2022, 09:21
with Form1.Image1.Canvas do ...
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.065 Beiträge
 
Delphi 12 Athens
 
#10

AW: Programme bzw. Funktionen von KI schreiben lassen (OpenAI)

  Alt 15. Dez 2022, 09:56
Als ich weiß nicht, aber ich glaube ich habe die angefragten Funktionen eher in Delphi geschrieben, als sie in ChatGPT zu beschreiben.

Hinzu kommt, dass man dem Ergebnis ja nicht einfach so trauen kann und ich das ja noch auf Korrektheit prüfen muss - etwas, das ich beim Selberschreiben ja implizit schon tue.

Schließlich hat der Chatbot seine Intelligenz ja auch nur aus dem Internet und der dort herumgeisternde Code ist zuweilen schon recht grenzwertig, was das Pacman-Beispiel ja sehr deutlich aufzeigt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz