AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Prism C# .net Code in Delphi .net? Funktionen Parse, Enum
Thema durchsuchen
Ansicht
Themen-Optionen

C# .net Code in Delphi .net? Funktionen Parse, Enum

Ein Thema von ZeroQool007 · begonnen am 16. Aug 2006 · letzter Beitrag vom 22. Aug 2006
Antwort Antwort
ZeroQool007

Registriert seit: 30. Aug 2004
127 Beiträge
 
#1

C# .net Code in Delphi .net? Funktionen Parse, Enum

  Alt 16. Aug 2006, 14:30
Hallo, irgendwie komme ich nicht dahinter wie man die Zeile in Delphi.net schreibt. Kann mir vllt. jemand bitte helfen? big thx

C# .net Code:
item.ListingType = (ListingTypeCodeType)Enum.Parse(typeof(ListingTypeCodeType), CboListType.SelectedItem.ToString());
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: C# .net Code in Delphi .net? Funktionen Parse, Enum

  Alt 16. Aug 2006, 15:35
Wenn ich mir das im Reflector angucke, sollte das so aussehen:
Delphi-Quellcode:
item.ListingType := (Enum.Parse(typeof(ListingTypeCodeType),
  CboListType.SelectedItem.ToString) as ListingTypeCodeType);
  Mit Zitat antworten Zitat
ZeroQool007

Registriert seit: 30. Aug 2004
127 Beiträge
 
#3

Re: C# .net Code in Delphi .net? Funktionen Parse, Enum

  Alt 21. Aug 2006, 09:24
Hallo, danke für den Tip, aber leider hat es nicht geklappt
Zitat:
es gibt keine überladene Version von PARSE


Delphi-Quellcode:
  ItemTypeInstanz.ListingType := (Enum.Parse(typeof(ListingTypeCodeType),
  frm_eBayAuktionsEingabe.CmB_ListingType.Items) as ListingTypeCodeType);
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: C# .net Code in Delphi .net? Funktionen Parse, Enum

  Alt 21. Aug 2006, 09:31
Also an folgendem konkreten Beispiel kompiliert es ohne Probleme:
Delphi-Quellcode:
var
  X: System.Windows.Forms.DialogResult;
begin
  X := (Enum.Parse(typeof(DialogResult), 'text') as System.Windows.Forms.DialogResult);
end;
was nicht geht
Delphi-Quellcode:
var
  X: System.Windows.Forms.DialogResult;
begin
  X := (Enum.Parse(typeof(DialogResult), 'text') as DialogResult);
end;
Versuche mal vollständige Qualifizierer (Namespace, etc.)

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#5

Re: C# .net Code in Delphi .net? Funktionen Parse, Enum

  Alt 21. Aug 2006, 09:35
Hättest du es anstatt als Delphi.Net Code[1] als C# Code markiert, hätte ein Übersetzungslink C# -> D.Net auftauchen sollen.
Code:
item.ListingType = (ListingTypeCodeType)Enum.Parse(typeof(ListingTypeCodeType), CboListType.SelectedItem.ToString());
Dein Problem wird übrigens einfach nur sein, dass Enum ein Keyword im D.Net Compiler ist.
Das allererste, was man in so einem Fall in einem nicht case-senseitiven .Net Compiler macht ist es, vor das Wort ein & zu setzen. Das ist allgemeine .Net Konvention für Compilerbauer und bedeutet, dass man nicht dass Keyword sondern einen gleichnamigen Bezeichner meint.

In deinem Fall also System.Enum.

btw: Ich könnte dafür wetten, dass ich das schon einmal in einem deiner Thread erwähnt habe oder zumindest in einem den du hier zu D.Net gelesen hast...

[1]Warum zum Geier nimmt man Syntax highlighting von D.Net für C#?

Nachtrag:
Zitat von ZeroQool007:
Delphi-Quellcode:
  ItemTypeInstanz.ListingType := (Enum.Parse(typeof(ListingTypeCodeType),
  frm_eBayAuktionsEingabe.CmB_ListingType.Items) as ListingTypeCodeType);
Du hättest auch ruhig den C# Code zu Delphi übersetzen können, anstatt etwas anderes da rein zuschreiben.
Dein D.Net (nachdem ich ihn mir doch angesehen habe...) Versucht den Inhalt der Collection Items in eine Instanz deines Enum typen zu konvertieren.
Die C' Version war wenigstens schlau genug um es mit dem ausgewählten Item zu machen...
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: C# .net Code in Delphi .net? Funktionen Parse, Enum

  Alt 21. Aug 2006, 09:38
Zitat von Elvis:
Dein Problem wird übrigens einfach nur sein, dass Enum ein Keyword im D.Net Compiler ist.
Seit wann

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#7

Re: C# .net Code in Delphi .net? Funktionen Parse, Enum

  Alt 21. Aug 2006, 09:42
Zitat von sakura:
Zitat von Elvis:
Dein Problem wird übrigens einfach nur sein, dass Enum ein Keyword im D.Net Compiler ist.
Seit wann

......
Ich schrieb absichtlich unbestimmt, da ich einfach nicht wusste ob es so ist. Hätte ich mir den übersetzen Übersetzten D.Net Code gleich angesehen hätte ich gewusst, dass es nicht so ist.
In CHrome ist es ein Keyword und wäre es eins in D.Net gewesen wäre die Fehlermeldung die gleiche gewesen.
Denn in deinem Code Beispiel ässt sich "System.Windows.Forms.DialogResult" sicherlich auch durch &DialogResult ersetzen. Auch wenn es kein Keyword ist.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

Re: C# .net Code in Delphi .net? Funktionen Parse, Enum

  Alt 21. Aug 2006, 11:39
Zitat von Elvis:
Denn in deinem Code Beispiel ässt sich "System.Windows.Forms.DialogResult" sicherlich auch durch &DialogResult ersetzen.
Nur, wenn es nicht in einem WinForms Formular benutzt wird. Denn diese haben eine Property DialogResult, die dem Datentyp System.Windows.Forms.DialogResult im Weg steht. Deswegen muss dieser vollständig qualifiziert werden. Sowas kommt davon, wenn man keine Prefixe für Typen mehr nehmen "darf", und dann auch noch haar genau eine Eigenschaft mit dem selben Namen deklariert (die ja nach C# Gewohnheit auch mit einem Großbuchstaben anfangen sollten). Das es in C# funktioniert liegt daran, dass der C# Compiler ein wenig mitdenkt und merkt, dass er hier nicht auf eine Eigenschaft zugreifen kann, aber es einen Enum-Typ gibt, der genau so lautet. Persönlich finde ich Delphi.NET's Verhalten hierbei aber besser, auch wenn mir eine Warnung statt des Kompilierfehlers lieber wäre.

Aber zum Glück geht es hier nicht um DialogResult, sondern um ListingTypeCodeType.
  Mit Zitat antworten Zitat
ZeroQool007

Registriert seit: 30. Aug 2004
127 Beiträge
 
#9

Re: C# .net Code in Delphi .net? Funktionen Parse, Enum

  Alt 22. Aug 2006, 09:25
Anscheinend klappt es so...thx


Delphi-Quellcode:
  ItemTypeInstanz.ListingType := (Enum.Parse(typeof(ebay.Service.Core.Soap.ListingTypeCodeType),
  frm_eBayAuktionsEingabe.CmB_ListingType.Items.ToString) as ebay.Service.Core.Soap.ListingTypeCodeType);
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:28 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