AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi RAD Studio, Delphi, C++Builder 12.2
Thema durchsuchen
Ansicht
Themen-Optionen

RAD Studio, Delphi, C++Builder 12.2

Ein Thema von wjjw · begonnen am 12. Sep 2024 · letzter Beitrag vom 17. Okt 2024
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: RAD Studio, Delphi, C++Builder 12.2

  Alt 16. Sep 2024, 09:47
Der erste Versuch mit "Erkläre mir den Code" habe ich nach 5 Minuten abgebrochen, da dort nichts kam. Also insgesamt scheinen die neuen Features mal wieder super zu funktionieren.
Ich hatte erst auch keinen Erfolg damit (ich hatte ChatGPT versucht). Erst nachdem ich $5 auf meinen Account eingezahlt hatte ging es dann nach ein paar Minuten.

Für folgenden Code-Part aus MMX
Delphi-Quellcode:
    Mail := TEmail.Create(nil);
    try
      Mail.OnMapiError := MapiError;
      Mail.WideSubject := VersionResource.FileDescription + ' ' + VersionResource.VersionAsStr + ' usage data';
      Mail.Recipient.Add('support@mmx-delphi.de');
      Mail.Text := UsageLogger.GetUsageData;
      Mail.ShowDialog := True;
      Mail.SendMail;
    finally
      Mail.Free;
    end;
bekomme ich folgende Erklärung (offenbar als MarkDown):
Zitat:
//************ Erklärung ***************
Dieser Delphi-Code erstellt eine E-Mail-Nachricht und sendet sie, um Nutzungsdaten zu protokollieren. Hier ist eine detaillierte Erklärung der Schritte und was jeder Teil des Codes bewirkt:

1. **Erstellung des E-Mail-Objekts**:
```delphi
Mail := TEmail.Create(nil);
```
Hier wird ein neues `TEmail`-Objekt mit `nil` als Besitzer erstellt. Dieses Objekt wird später verwendet, um die E-Mail zu konfigurieren und zu senden.

2. **Fehlerbehandlung**:
```delphi
Mail.OnMapiError := MapiError;
```
Hier wird eine Fehlerbehandlungsroutine (eine Methode oder Prozedur) zugewiesen, die aufgerufen wird, wenn ein MAPI-Fehler (Messaging Application Programming Interface) auftritt. Dies könnte sinnvoll sein, falls beim Senden der E-Mail ein Problem auftritt.

3. **Betreff der E-Mail**:
```delphi
Mail.WideSubject := VersionResource.FileDescription + ' ' + VersionResource.VersionAsStr + ' usage data';
```
Der Betreff der E-Mail wird gesetzt. Er besteht aus einer Datei-Beschreibung (`FileDescription`) und einer Versionsnummer (`VersionAsStr`) aus dem `VersionResource`-Objekt, gefolgt von dem Text "usage data". Hierbei wird `WideSubject` verwendet, um Unicode-Zeichen zu unterstützen.

4. **Hinzufügen eines Empfängers**:
```delphi
Mail.Recipient.Add('support@mmx-delphi.de');
```
Hier wird eine E-Mail-Adresse als Empfänger hinzugefügt. In diesem Fall ist es `support@mmx-delphi.de`.

5. **Inhalt der E-Mail**:
```delphi
Mail.Text := UsageLogger.GetUsageData;
```
Der Text oder die Nachricht der E-Mail wird festgelegt. Der Inhalt wird durch den Aufruf von `GetUsageData` der `UsageLogger`-Instanz abgerufen, die wahrscheinlich Nutzungsdaten erfasst hat.

6. **Dialog anzeigen**:
```delphi
Mail.ShowDialog := True;
```
Diese Zeile setzt die Eigenschaft `ShowDialog` auf `True`, was bedeutet, dass ein Dialog angezeigt wird, in dem der Benutzer die E-Mail vor dem Senden überprüfen kann.

7. **E-Mail senden**:
```delphi
Mail.SendMail;
```
Hier wird die E-Mail mit der `SendMail`-Methode gesendet.

8. **Ressourcenfreigabe**:
```delphi
finally
Mail.Free;
end;
```
Unabhängig davon, ob bei dem Senden der E-Mail ein Fehler aufgetreten ist oder nicht, wird das `Mail`-Objekt im `finally`-Block wieder freigegeben, um Memory-Leaks zu vermeiden. Dies ist eine gängige Praxis in objektorientierter Programmierung, um sicherzustellen, dass Ressourcen ordnungsgemäß verwaltet werden.

Zusammenfassend gesagt, der Code erstellt eine E-Mail mit bestimmten Metadaten, fügt einen Empfänger hinzu, setzt den Text der Nachricht auf Nutzungsdaten und zeigt dem Benutzer ein Dialogfeld, um die E-Mail zu überprüfen, bevor sie gesendet wird. Nach dem Senden wird das E-Mail-Objekt freigegeben.

Dies sind meine Einstellungen:
Angehängte Grafiken
Dateityp: png 16-09-2024_10-41-36.png (83,6 KB, 54x aufgerufen)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
493 Beiträge
 
Delphi 12 Athens
 
#2

AW: RAD Studio, Delphi, C++Builder 12.2

  Alt 16. Sep 2024, 10:58
Ich kann es irgendwie nicht glauben, dass es sich noch nicht rumgesprochen hat, dass man die Signierung aktuell mit sha256 machen sollte.
Daher wundert es mich doch sehr, dass die Dateien und der Installer sind nur mit sha1 signiert wurden.

Zu mindestens für die Funktion das nicht relevant.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: RAD Studio, Delphi, C++Builder 12.2

  Alt 16. Sep 2024, 13:19
Habs noch nicht installiert.

Das SmartCodeinsight sieht ja praktisch genauso aus, wie der ChatGPT-Wizard im GetIt. (nur mit noch mehr KIs zur Auswahl, als nur ChatGPT)

Bei dem Wizzard mußte man sich bei OpenAI einen API-Zugang besorgen und dann den API-Key im Delphi/Wizart hinterlegen.
Muß man das bei dem Smarten auch machen, oder säuft das dann alles über einen Key von Emba, welchen die bezahlen?

Ups, übersehn ... jo, muß man sich dann auch erst kaufen. #43

Man muß das Model von Hand eintragen?
Der Wizzard hatte da eine Combobox mit Einigem zu Vorauswahl.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (16. Sep 2024 um 13:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: RAD Studio, Delphi, C++Builder 12.2

  Alt 16. Sep 2024, 13:25
muß man sich dann auch erst kaufen. #43
Zumindest bei mir - und soweit ich weiß auch bei anderen - klappte es erst nachdem ein Guthaben auf dem Account war (was auch seine Zeit braucht um da durchzusickern). Irgendwo meine ich mal gelesen zu haben, dass der Free Access nur über das Web-Interface geht, aber nicht für den API-Zugriff gilt. Kann ich aber gerade nicht mehr finden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: RAD Studio, Delphi, C++Builder 12.2

  Alt 16. Sep 2024, 16:57
Wir hatten und vor 'ner Weile eh bei OpenAI bereits für die Firma das gekauft. (hatte es auch bereits in dem ChatGPT-Wizard vom GetIt geteset)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
perpeto1234

Registriert seit: 16. Nov 2020
10 Beiträge
 
#6

AW: RAD Studio, Delphi, C++Builder 12.2

  Alt 17. Sep 2024, 07:10
Noch was: funktioniert bei euch Tools -> LSP-Server neustarten?

Bei Delphi 12.1 kam immer eine entsprechende Meldung "LSP-Server wurde neugestartet". Bei mir tut er gefühlt nichts.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: RAD Studio, Delphi, C++Builder 12.2

  Alt 17. Sep 2024, 09:09
bereits in 12.1 ist bei mir seit längerem schon das Menü disabled. (vielleicht hatte ich es zu oft benutzt und nu isses kaputt)

takskill /im DelphiLSP.exe /f

entweder in der Konsole
oder
mach es so, wie bevor uns Emba ohne zu fragen die Idee geklaut und das dann auch noch falsch gemacht hatte.

Tools > Tools konfigurieren > hinzufügen
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Friday

Registriert seit: 6. Mai 2008
106 Beiträge
 
Delphi 12 Athens
 
#8

AW: RAD Studio, Delphi, C++Builder 12.2

  Alt 18. Sep 2024, 10:25
muß man sich dann auch erst kaufen. #43
Zumindest bei mir - und soweit ich weiß auch bei anderen - klappte es erst nachdem ein Guthaben auf dem Account war (was auch seine Zeit braucht um da durchzusickern). Irgendwo meine ich mal gelesen zu haben, dass der Free Access nur über das Web-Interface geht, aber nicht für den API-Zugriff gilt. Kann ich aber gerade nicht mehr finden.
hast du schon ein Gefühl dafür wie schnell die Tokens verbraucht werden, bzw. was die KI im Monat so kosten würde (bei "normaler" Nutzung).
Ich frag mich ob die 10$ für den Github Copilot im VSCode nicht deutlich günstiger sind.

Kennt openai im Delphi auch den Kontext des Codes oder ist das im Grunde nichts anderes als ein ChatGPT Client in der IDE den ich genauso im Browser nebendran geöffnet haben könnte?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: RAD Studio, Delphi, C++Builder 12.2

  Alt 18. Sep 2024, 11:30
Ehrlich gesagt, ich habe es erstmal einfach nur zum Laufen bringen wollen. Ob ich mittelfristig viel damit machen werde kann ich noch nicht mal sagen. So richtig kann ich für mich persönlich noch keinen wirklichen Nutzen erkennen. Ich werde das aber weiter beobachten. Insofern bin ich natürlich auch an euren Erfahrungen damit interessiert.

Auf mein obiges Beispiel bezogen, wurden dafür 110 Tokens versendet und 721 tokens zurückgegeben. Dass hat also deutlich weniger als 1 Cent gekostet. Allerdings, je gesprächiger der Output gestaltet ist, desto teurer wird dann halt auch der ganze Spaß. Das hat man aber nur begrenzt unter Kontrolle.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: RAD Studio, Delphi, C++Builder 12.2

  Alt 18. Sep 2024, 12:54
Ich hatte den ChatCPT-Wizard (aus'm GetIt in D11/12) installiert, aber noch nicht so oft wirklich bei der benutzt.

Kollegen nutzen aber ChatGPT schon vermehrt, sowohl für Delphi, aber vorallem auch für SQL (Postgres) ... wobei dort teilweise dem Ding vorher unser eigenes DB-Zeugs gegeben, damit der auch Funktionen, Tabellen und Views von uns in seinen Vorschlägen mit berücksichtigt.
Ein Therapeut entspricht 1024 Gigapeut.
  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 03:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz