AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

combobox.text => PChar

Ein Thema von trashar · begonnen am 30. Sep 2003 · letzter Beitrag vom 30. Sep 2003
Antwort Antwort
trashar

Registriert seit: 8. Aug 2003
Ort: Rhode
39 Beiträge
 
Delphi 7 Enterprise
 
#1

combobox.text => PChar

  Alt 30. Sep 2003, 17:03
Hallo

ich will den combobox1.text in einer variabel speichern, die von dem typen PChar sein muss (für andere funktionen)

wie kann ich das umwandeln???

mfg
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: combobox.text => PChar

  Alt 30. Sep 2003, 17:05
Einfacher Cast nach PChar. Oder: pointer(Combobox1.Text) oder @Combobox1.Text[1].
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
trashar

Registriert seit: 8. Aug 2003
Ort: Rhode
39 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: combobox.text => PChar

  Alt 30. Sep 2003, 17:24
hm leider klappen die beiden letzteren möglichkeiten nicht so wie soe sollen
wie ist das den mit dem cast gemeint??

also ich will mir ein paar laufwerkinfos ausgeben lassen

Delphi-Quellcode:
  defaulthdd := 'C:\';
      Label4.caption := DriveType(PChar(defaulthdd));
if Label4.Caption <> 'unbekanntes Laufwerkthen
      begin
          Label6.Caption := inttostr(GetSerialNumber(PChar(defaulthdd)));
          if Label6.Caption = '0then Label6.Caption := 'Seriennummer unbekannt';
          GetDiskFreeSpaceEx(PChar(defaulthdd), freeCaller, total, nil);
          label8.caption:=IntToStr(freeCaller)+' Bytes';
          label10.caption:= IntToStr(total)+' Bytes';

      end;

(defaulthdd wird als string deklariert)

das geht soweit. dies ist fürs laden des forms

wenn ich allerdings in dem combobox auslesen will (wo man die hdd oder cd laufwerk oder so auswählen kann)

Delphi-Quellcode:
      defaulthdd := Combobox1.Text;
      Label4.caption := DriveType(PChar(defaulthdd));
      if Label4.Caption <> 'unbekanntes Laufwerkthen
      begin
          Label6.Caption := inttostr(GetSerialNumber(PChar(defaulthdd)));
          if Label6.Caption = '0then Label6.Caption := 'Seriennummer unbekannt';
          GetDiskFreeSpaceEx(PChar(defaulthdd), freeCaller, total, nil);
          label8.caption:=IntToStr(freeCaller)+' Bytes';
          label10.caption:= IntToStr(total)+' Bytes';

      end;
dann wird nur noch der laufwerkstyp richtig angezeigt
bei den bytes steht jewalls 0

und bei der serien nr kommt beim laden zwar unbekannt aber beim wechsel kommen total komsiche zahlen die teilweise sogar negativ sind

kann mir wer helfen?

mfg
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: combobox.text => PChar

  Alt 30. Sep 2003, 18:24
In dem Source hast du doch schon an allen Ecken und Enden Casts nach PChar drin. Zum Beispiel hier:
 ... := DriveType(PChar(defaulthdd));
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: combobox.text => PChar

  Alt 30. Sep 2003, 18:29
Moin Trashar,

wie sind denn die Variablen deklariert?
Wie ist GetSerialNumber deklariert?

Eigentlich sollte das so funktionieren.
Das GetDiskFreespaceEx eine Funktion ist, die eine booleschen Wert zurückgibt, könntes Du das mal ausnutzen, und in Fehlerfalle mit
ShowMessage(SysErrorMessage(GetLastError)); mal anzeigen lassen, was schiefgegangen ist.

Wenn Du eh' zwei Routinen hast, die bis auf die erste Zeile identisch sind, bietet es sich an diese als eine Funktion/Methode zusammenzufassen, und dann nur noch den Parameter (das Laufwerk) zu übergeben.
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
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:35 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