AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String richtig umwandeln

Ein Thema von Tod787 · begonnen am 15. Jul 2008 · letzter Beitrag vom 16. Jul 2008
Antwort Antwort
Tod787

Registriert seit: 19. Mai 2008
99 Beiträge
 
#1

String richtig umwandeln

  Alt 15. Jul 2008, 09:21
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?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: String richtig umwandeln

  Alt 15. Jul 2008, 09:23
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?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: String richtig umwandeln

  Alt 15. Jul 2008, 09:23
Als eine Instanz von was?
Markus Kinzler
  Mit Zitat antworten Zitat
Tod787

Registriert seit: 19. Mai 2008
99 Beiträge
 
#4

Re: String richtig umwandeln

  Alt 15. Jul 2008, 10:43
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!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: String richtig umwandeln

  Alt 15. Jul 2008, 10:58
Wird nicht so einfach gehen?
Aber was gewinnst du dann?
Ist
marke := func_beispiel(marke); wirklich kürzer/einfacher als
marke := auto1.marke; ?
Markus Kinzler
  Mit Zitat antworten Zitat
Tod787

Registriert seit: 19. Mai 2008
99 Beiträge
 
#6

Re: String richtig umwandeln

  Alt 15. Jul 2008, 13:10
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
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#7

Re: String richtig umwandeln

  Alt 15. Jul 2008, 13:20
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;
(...)
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: String richtig umwandeln

  Alt 15. Jul 2008, 13:26
Da würde ich lieber die Eigenschaften als published deklarieren und mit RTTI darauf zugreifen.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: String richtig umwandeln

  Alt 15. Jul 2008, 13:37
Moin Zusammen,

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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Tod787

Registriert seit: 19. Mai 2008
99 Beiträge
 
#10

Re: String richtig umwandeln

  Alt 16. Jul 2008, 11:12
Also wie schon gesagt ich bin bei Case of geblieben. Klappt ja auch ganz gut.

Eine Sache wäre da noch...

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?
  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 22:46 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