![]() |
AW: ShellExecute Problem mit zweitem Parameter
Zitat:
Da hat nur das Forum zugeschlagen, welches zu lange "Wörter" trennt, damit ein Zeilenumbruch in die Anzeige rein kann. :zwinker: |
AW: ShellExecute Problem mit zweitem Parameter
Zitat:
OK, nichts für ungut.. Nur Leerzeichen in Parameter sind ja Trennen für 'verschiedene' Parameter.. Deshalb geht es mit Anführungszeichen, da dann die Leerzeichen ein Teil 'eines' Parameters (eingeschlossen in den ") sind.. |
AW: ShellExecute Problem mit zweitem Parameter
Ich hab's jetzt generell zwischen Anführungszeichen gesetzt,
löst erst mal das Problem.:) |
AW: ShellExecute Problem mit zweitem Parameter
Das stimmt und dagegen hab ich auch nichts gesagt. :zwinker:
Nur da hier Mehrere auf dieses eine nichtexistente Leerzeichen eingingen, gedachte ich mal zu erwähnen, daß Dieses hier nur angezeigt wird, aber nicht im Namen vorkommt. (das erkennt man gut, wenn man den Ursprungspost zitieren will) |
AW: ShellExecute Problem mit zweitem Parameter
Zitat:
stecken könnte - daher habe ich es erst mal als Lösung genommen, inzwischen (zwei Stunden später) entferne ich diese (und evt. andere unliebsame Zeichen) mittels StringReplace. Ein ... PChar(Chr(34) + Media + Chr(34)) kann allerdings nicht schaden . . .:-D |
AW: ShellExecute Problem mit zweitem Parameter
Zwei Funktionen zur Auswahl:
Delphi-Quellcode:
function RemoveSpaces(const s: string): string;
var len, p: integer; pc: PChar; const WhiteSpace = [#0, #9, #10, #13, #32]; begin len := Length(s); SetLength(Result, len); pc := @s[1]; p := 0; while len > 0 do begin if not (pc^ in WhiteSpace) then begin inc(p); Result[p] := pc^; end; inc(pc); dec(len); end; SetLength(Result, p); end; function DeleteSpaces(Str: string): string; var i: Integer; begin i:=0; while i<=Length(Str) do if Str[i]=' ' then Delete(Str, i, 1) else Inc(i); Result:=Str; end; procedure TForm1.Button1Click(Sender: TObject); begin Edit2.text:= RemoveSpaces(Edit1.text); end; procedure TForm1.Button2Click(Sender: TObject); begin Edit2.text:= DeleteSpaces(Edit1.text); end; |
AW: ShellExecute Problem mit zweitem Parameter
Zitat:
Delphi-Quellcode:
. Finde ich besser lesbar, weil man nicht überlegen muss, was denn nun Chr(34) ist. Trotz des "Ansi" im Funktionsnamen eignet sich die Funktion für Unicode-Strings, wenn man die aus SysUtils verwendet - siehe
PChar(AnsiQuotedStr(Media, '"'))
![]() Grüße Dalai |
AW: ShellExecute Problem mit zweitem Parameter
Zitat:
Code:
finde ich persönlich kürzer und auch verständlich
. . .
const OldString : Array[1..3] = (Chr(32), Chr(10), Chr(19)); NewString : String = Chr(95); var i : Byte; Destination : String; . . . Destination := [irgendwas]; for i := 1 to 3 do Destination := ReplaceString(Destination, OldString[i], NewString, [rfReplaceAll, rfIgnoreCase]); . . . |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:04 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