AGB  ·  Datenschutz  ·  Impressum  







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

BOOLEAN? Programm Problem!

Ein Thema von DaddyRe · begonnen am 7. Jan 2006 · letzter Beitrag vom 9. Jan 2006
Antwort Antwort
DaddyRe

Registriert seit: 19. Okt 2005
Ort: umgezogen --> Hamburg :-(
42 Beiträge
 
Delphi 7 Enterprise
 
#1

BOOLEAN? Programm Problem!

  Alt 7. Jan 2006, 12:22
Ich hoffe mal die Kategorie die ich gewählt habe stimmt

Also ich ahbe ein Programm geschrieben udn habe ein Kleines Problem:
ICh habe eine Abfrage der Laufwerksnamen gemacht sprich verschiedene Radiobuttons zb. mit der Caption "C:" wird dann ergänzt durch C: Lokaler Datenträger.
Soweit funktioniert jedoch alles. Dann habe ich noch einen Button auf meine Form gesetzt und ihn per if abfrage mit den Radiobuttons verknüpft.
Ich mochte jedoch sobald die Caption zb. "C: Leer" eine messagebox anzeigen lassen. Wie kann ich das auch noch einfügen in meinen code?

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
  begin
if Radiobutton4.Checked then Shellexecute(handle, 'open', 'U:', '', nil, SW_SHOW);

if Radiobutton8.Checked then Shellexecute(handle, 'open', 'T:', '', nil, SW_SHOW);

if Radiobutton6.Checked then Shellexecute(handle, 'open', 'D:', '', nil, SW_SHOW);

if Radiobutton7.Checked then Shellexecute(handle, 'open', 'E:', '', nil, SW_SHOW);

if Radiobutton5.Caption := 'Leerthen Application.MessageBox('Das is ne Messagebox!','aloa he',MB_OK);
else begin if Radiobutton5.Checked then Shellexecute(handle, 'open', 'C:', '', nil, SW_SHOW)
Hier habe ich das schon mal ausprobiert funktioniert aber leider nicht
Er sagt der Ausdruck muss boolean sein ich weiß nur leider nciht wie ich boolean verwende
Vlt könnte mir das einer von euch erklären!

Danke Mfg DaddyRe
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: BOOLEAN? Programm Problem!

  Alt 7. Jan 2006, 12:25
if Radiobutton5.Caption := 'Leerthen Du musst hier statt := (Zuweisungsoperator) den Vergleichsoperator = verwenden
  Mit Zitat antworten Zitat
DaddyRe

Registriert seit: 19. Okt 2005
Ort: umgezogen --> Hamburg :-(
42 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: BOOLEAN? Programm Problem!

  Alt 7. Jan 2006, 12:26
ahhh danke
Daniel
  Mit Zitat antworten Zitat
DaddyRe

Registriert seit: 19. Okt 2005
Ort: umgezogen --> Hamburg :-(
42 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: BOOLEAN? Programm Problem!

  Alt 7. Jan 2006, 12:30
....noch ein problem

Der code stimmt soweit nur wenn ich dann C: anklcike und auf den button open drive klicke kommt die messagebox auch obwohl C: einen Namen hat und nciht leer ist, das kommt jedoch daher das U: Leer ist!

Wie kann cih diese befehle voneinander trennen?

...bissel komishc beschrieben *duckundwegrenn*

Mfg DaddyRe
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von Remote1
Remote1

Registriert seit: 22. Okt 2003
Ort: Dippoldiswalde
252 Beiträge
 
Delphi 6 Personal
 
#5

Re: BOOLEAN? Programm Problem!

  Alt 7. Jan 2006, 13:19
ich hab dein problem zwar net ganz verstanden, aber anscheinend brauchst du alle laufwerkbuchstaben, laufwerktyp und bezeichnungen eines rechners
evtl hilft dir der folgende code weiter (hab ich grad in meiner hilfe gefunden):

Delphi-Quellcode:
Laufwerke auf einem Computer ermitteln
 {
Fügt all fixen Laufwerke in Combobox1 ein.
Um z.B alle CD-Rom Laufwerke zu ermitteln,
einfach DRIVE_CDROM anstatt die Konstante DRIVE_FIXED nehmen.
}
 

procedure List_Drives;
const
DRIVE_UNKNOWN = 0;
DRIVE_NO_ROOT_DIR = 1;
DRIVE_REMOVABLE = 2;
DRIVE_FIXED = 3;
DRIVE_REMOTE = 4;
DRIVE_CDROM = 5;
DRIVE_RAMDISK = 6;
var
r: LongWord;
Drives: array[0..128] of char;
pDrive: PChar;
begin
r := GetLogicalDriveStrings(SizeOf(Drives), Drives);
if r = 0 then Exit;
if r > SizeOf(Drives) then
raise Exception.Create(SysErrorMessage(ERROR_OUTOFMEMORY));
pDrive := Drives;
while pDrive^ <> #0 do
begin
if GetDriveType(pDrive) = DRIVE_FIXED then
Form1.ComboBox1.Items.Add(pDrive);
Inc(pDrive, 4);
end;
end;

//Den Laufwerksnamen ermitteln

function GetVolumeName(DriveLetter: Char): string;
var
dummy: DWORD;
buffer: array[0..MAX_PATH] of Char;
oldmode: LongInt;
begin
oldmode := SetErrorMode(SEM_FAILCRITICALERRORS);
try
GetVolumeInformation(PChar(DriveLetter + ':\'),
buffer,
SizeOf(buffer),
nil,
dummy,
dummy,
nil,
0);
Result := StrPas(buffer);
finally
SetErrorMode(oldmode);
end;
end;

// Beispiel:

procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := GetVolumeName('c');
end;


//Den Laufwerkstyp feststellen

procedure TForm1.Button1Click(Sender: TObject);
var
typ: Integer;
s: string;
begin
s := 'C:\';
typ := GetDriveType(PChar(s));
if Typ <> 0 then case typ of
DRIVE_REMOVABLE:
begin
ShowMessage('Drive Removable / Diskette');
end;
DRIVE_FIXED:
begin
ShowMessage('Drive fixed / Festplatte');
end;
DRIVE_CDROM:
begin
ShowMessage('CD ROM Drive');
end;
DRIVE_RAMDISK:
begin
ShowMessage('RAM Drive');
end;
DRIVE_REMOTE:
begin
ShowMessage('Remote Drive / Netzlaufwerk');
end;
end;
end;
  Mit Zitat antworten Zitat
DaddyRe

Registriert seit: 19. Okt 2005
Ort: umgezogen --> Hamburg :-(
42 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: BOOLEAN? Programm Problem!

  Alt 7. Jan 2006, 15:21
danke
aber ich habe einen anderen coder der etwas kürzer ist wenn ihr wollt poste ich ihn euhc meldet euch einfach...
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von Remote1
Remote1

Registriert seit: 22. Okt 2003
Ort: Dippoldiswalde
252 Beiträge
 
Delphi 6 Personal
 
#7

Re: BOOLEAN? Programm Problem!

  Alt 8. Jan 2006, 17:02
dann poste mal, is immer gut was neues zu sehn (den oberen code kann man natürlich noch zusammenfassen, is nur auseinandergenommen falls man nicht alles braucht, zb, wenn man nur lauferksbuchstaben brauch)
  Mit Zitat antworten Zitat
DaddyRe

Registriert seit: 19. Okt 2005
Ort: umgezogen --> Hamburg :-(
42 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: BOOLEAN? Programm Problem!

  Alt 8. Jan 2006, 19:27
So,


Delphi-Quellcode:
function GetVolumeName(DriveLetter: Char): string;
var
  dummy: DWORD;
  buffer: array[0..MAX_PATH] of Char;
  oldmode: LongInt;
begin
  oldmode := SetErrorMode(SEM_FAILCRITICALERRORS);
  try
    GetVolumeInformation(PChar(DriveLetter + ':\'),
                         buffer,
                         SizeOf(buffer),
                         nil,
                         dummy,
                         dummy,
                         nil,
                         0);
    Result := StrPas(buffer);
  finally
    SetErrorMode(oldmode);
  end;
end;

// Example, Beispiel:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption := GetVolumeName('c');
end;
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von Remote1
Remote1

Registriert seit: 22. Okt 2003
Ort: Dippoldiswalde
252 Beiträge
 
Delphi 6 Personal
 
#9

Re: BOOLEAN? Programm Problem!

  Alt 9. Jan 2006, 17:29
@DaddyRe
falls es dir nioch nicht aufgefallen ist, du hast genau den gleichen code wie ich gepostet
ich hab halt nur noch ne funktion dabei, welche den Laufwerkstyp feststellt und dann noch eine um alle laufwerkbuchstaben zu erahlten (sind halt 3 fkt, wenn man nur eine braucht, dann nimmt man auch nur eine)
  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 11:21 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