BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- Delphi Shell (http://www.black-board.net/thread.php?threadid=20572)


Geschrieben von ColdFire am 07.06.2005 um 10:44:

  Shell

code:
1:
2:
3:
4:
5:
6:
 
begin
    ShellExecute(Handle, 'open', PChar(EDIT.Text) , nil, nil, SW_SHOW);
{        http:// muss dabei sein  }
end;


dass problem dass ich habe ist jenes und zwar wenn ein user hier ( EDIT) nur www.black-board.net eingibt kann er über das feld die page nicht aufrufen

ich habe aber auch keine möglichkeit über eine variable URL dass hinzubekommen

GEHT NICHT !!!
code:
1:
2:
3:
4:
5:
6:
7:
var Url : string;
  begin
    url:= 'http://';
     ShellExecute(Handle, 'open', Url +  PChar(EDIT.Text) , nil, nil, SW_SHOW);
    end;


wie kann ich dass sonst lösen HILFE!

mfg CF



Geschrieben von CDW am 07.06.2005 um 11:37:

 

immer diese Panik Augenzwinkern

Zitat:
var Url : string;
begin
url:= 'http://';
ShellExecute(Handle, 'open', Url + PChar(EDIT.Text) , nil, nil, SW_SHOW);
end;

hier musst Du beachten das PChar nicht dem normalen Pascal-String entspricht, deshalb ist auch einfache '+' Operation nicht möglich.
Aber:
code:
1:
PChar(Url +(EDIT.Text)) 

sehr wohl Augenzwinkern
Ich würde vorher aber trotzdem mal eine Überprüfungsroutine einbauen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
var Url : string;
  begin

    url:= 'http://';
    if(Pos(url,EDIT.text)=0) then Edit.text:=Url+Edit.text ;
     ShellExecute(Handle, 'open', PChar(Edit.Text) , nil, nil, SW_SHOW);
    end;



Geschrieben von Flobre am 07.06.2005 um 11:37:

 

code:
1:
2:
3:
4:
5:
var url : string;
  begin
    url:= 'http://';
     ShellExecute(Handle, 'open',  PChar(url) +  PChar(EDIT.Text) , nil, nil, SW_SHOW);
    end;



vielleicht so?



Geschrieben von CDW am 07.06.2005 um 11:50:

 

@Flobre: gibt trotzdem Syntaxfehler bei Delphi 5 Augenzwinkern
laut der Delphi Hilfe ist
Zitat:
Ein PChar ein Zeiger auf einen nullterminierten String mit Zeichen des Typs Char.
und was gaanz anderes als die Pascal-strings. PChar entspricht dem C-Chararray, wenn man aber unbediengt damit arbeiten möchte gibt es StrCat,StrCopy usw. Davon sollte man aber nur vorsichtig Gebrauch machen weil diese Funktionen genauso wie die C-Pendanten Bufforoverflows begünstigen. Die "Pascal" Strings sind nicht nur 0-Terminiert sondern enthalten auch eine längenangabe. (und die Stringoperationen sind sowieso durchdachter und besser als PChar und konsorten Augenzwinkern ).



Geschrieben von ColdFire am 07.06.2005 um 15:08:

 

konnte es auch lösen shit immer diese denkblokaden großes Grinsen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
    var
      url : string;
    begin
      url := MYLABEL.Text;
      if Pos ('http://',url) = 0 then
        begin
          url := 'http://' + url;
        end;
      ShellExecute(Handle, 'open', PAnsiChar(url) , nil, nil, SW_SHOW);
    end;


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH