Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String richtig umwandeln (https://www.delphipraxis.net/117272-string-richtig-umwandeln.html)

Tod787 15. Jul 2008 08:21


String richtig umwandeln
 
Hallo, hab ein kleines Problem,

möchte einer Funktion einen String übergeben später so umgewandelt werden soll, dass ich ihn als Instanz verwenden kann.
Dachte es würde mit PChar(xy) gehen aber das funktioniert irgendwie nicht. Hier mal so wie ich es dachte:

Delphi-Quellcode:
function(xy: string): string
begin
   (..)
      result := Object.pchar(xy)
   (..)
end
Meine Frage wie muss ich den string xy umwandeln?

Bernhard Geyer 15. Jul 2008 08:23

Re: String richtig umwandeln
 
Erklär mal genauer den Hintergrund? Irgendwie kommt mir deinen Erklärung so vor als versuchst dur dir permanent ins Knie zu schießen. Willst du evtl. einen Script-Interpreter bauen?

mkinzler 15. Jul 2008 08:23

Re: String richtig umwandeln
 
Als eine Instanz von was?

Tod787 15. Jul 2008 09:43

Re: String richtig umwandeln
 
Glaube ich hab mich mal wieder falsch ausgedrückt und versuche es nochmal.
ich möchte mehrere Informationen über WMI auslesen. Um nicht immer wieder aufs neue die Aufrufprozedur für jede Funktion schreiben zu müssen möchte ich einfach eine Funktion aufrufen können um das gewünschte WMI-Objekt (hier xy) zu erhalten.


Ein Beispiel:

Delphi-Quellcode:
function func_beispiel(eigenschaft: string): string
(...)
      marke := Auto1.eigenschaft
(...)
so jetzt will ich verschiedene Eigenschaften abfragen und um das zu tun ruf ich die Funktion auf

Delphi-Quellcode:
marke := func_beispiel(marke)
preis := func_beispiel(preis)
farbe := func_beispiel(farbe)
Edit: Glaube ich lasse es doch wie es ist. Funktioniert und das ist die Hauptsache ;)


Trotzdem DANKE!

mkinzler 15. Jul 2008 09:58

Re: String richtig umwandeln
 
Wird nicht so einfach gehen?
Aber was gewinnst du dann?
Ist
Delphi-Quellcode:
marke := func_beispiel(marke);
wirklich kürzer/einfacher als
Delphi-Quellcode:
marke := auto1.marke;
?

Tod787 15. Jul 2008 12:10

Re: String richtig umwandeln
 
Also in dem Beispiel da geb ich dir natürlich Recht. Es ging mir auch primär nur um den Syntax. Wie gesagt ich machs jetzt doch auf die herkömmliche Art.
Dachte nur falls noch mehr WMI-Objecte dazukommen wirds übersichtlicher.

btw:
Gibt es irgendwo eine Seite die Informationen über die Speicherauslastung verschiedener Methoden anbietet bzw. Vergleiche zu Alternativmethoden auflistet. Würde gerne mal wissen was man so beim speicheroptimierten Programmieren alles beachten sollte

TeronG 15. Jul 2008 12:20

Re: String richtig umwandeln
 
du könntest ja sowas machen

Delphi-Quellcode:
function func_beispiel(eigenschaft: string): string
(...)
if (eigenschaft = 'Marke') then result := Auto1.marke
else if eigenschaft = farbe) then result := auto1.farbe
(...)
oder sowas

Delphi-Quellcode:
type
  TEigenschaften = (esMarke,esFarbe,esBlubber,...);

function func_beispiel(eigenschaft: TEigenschaften): string
(...)
  case eigenschaft of
    esMarke : result := Auto.Marke;
    esFarbe : result := Auto.Farbe;
    esBlubber : begin
      result := 'irgendwas';
    end;
    ... usw (evtl mit else)
  end;
(...)

Apollonius 15. Jul 2008 12:26

Re: String richtig umwandeln
 
Da würde ich lieber die Eigenschaften als published deklarieren und mit RTTI darauf zugreifen.

Christian Seehase 15. Jul 2008 12:37

Re: String richtig umwandeln
 
Moin Zusammen,

Zitat:

Zitat von TeronG
du könntest ja sowas machen

Delphi-Quellcode:
function func_beispiel(eigenschaft: string): string
(...)
if (eigenschaft = 'Marke') then result := Auto1.marke
else if eigenschaft = farbe) then result := auto1.farbe
(...)

Das liesse sich mit Delphi-Referenz durchsuchenAnsiIndexText (oder Delphi-Referenz durchsuchenAnsiIndexStr) aus StrUtils etwas übersichtlicher lösen.

Tod787 16. Jul 2008 10:12

Re: String richtig umwandeln
 
Also wie schon gesagt ich bin bei Case of geblieben. Klappt ja auch ganz gut.

Eine Sache wäre da noch...

Zitat:

Zitat von Tod787
btw:
Gibt es irgendwo eine Seite die Informationen über die Speicherauslastung verschiedener Methoden anbietet bzw. Vergleiche zu Alternativmethoden auflistet. Würde gerne mal wissen was man so beim speicheroptimierten Programmieren alles beachten sollte

keiner nen Tip wo ich mich weiterbilden kann? :angel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:05 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