Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Copy,Pos Problem (https://www.delphipraxis.net/2240-copy-pos-problem.html)

foxy 14. Jan 2003 13:32


Copy,Pos Problem
 
also jungs ich weis nich ob ich auf dem schlauch stehe oder einfach nur blöd bin ich hab die 2 anwendungen schon 100 mal verwendet aber schaut euch das ma an

Delphi-Quellcode:
var pfad  :String;
    k     :string;
begin
 if opendialog1.Execute then
   begin
     pfad:=opendialog1.FileName;
     k:=Pos('.',pfad); //hier der fehler
     k:=Copy(k,1,3);
     if k= '.bmp' then
bekomm fehler string und integer nich kompatibel
was soll der kack wo issn da ein integer wert?

d3g 14. Jan 2003 13:35

Pos() gibt einen Integer zurück, aber k ist ein String...

foxy 14. Jan 2003 13:35

ahhhhhhhhhhhhhhhhhhhh ich bin soooo scheisse jezt sitz ich 20 min an dem fehler unn er wird mir nich klar .... baaaaaaaaaaa
pos gibts ja nur int werte zurück also bolean sozusagen eben war oder falsh 0 unn 1 määäää naja überflüssiger post sry :P

Luckie 14. Jan 2003 13:42

Nein, pos liefert den Index des ersten Vorkommes von dem Substring im String.

foxy 14. Jan 2003 13:56

em em noch schnell ne frage ....
habe das nun so
Delphi-Quellcode:
if pos('.',pfad) then
wie kann ich es dann machen, das der mit copy erst ab dem punkt das ausschneidet??? kann ja keine feste werte angeben wie 1,3 oder so ....

muss ich dazu die zeichen im string zählen -4 ... wenn ja wie ?? :roll:

Luckie 14. Jan 2003 14:01

was willst du denn erreichen? Die Endung abschneiden, ändern oder nur mit irgendwas vergleichen?

foxy 14. Jan 2003 14:05

endung vergleichen
also if k = '.bmp' then
bla bla

Luckie 14. Jan 2003 14:10

Du mußt von hinten den ersten Punkt suchen. Von vorne gibt das nichts, da im Dateinamen auch schon ein Punkt vorkommen kann.

Delphi-Quellcode:
function GetFileExt(const sFilename: String): string;
var
  rpos : integer;
begin
  rpos := length(sFilename);
  if(pos('.',sFilename) > 0) then
    while(sFilename[rpos] <> '.') and (rpos > 0) do
      dec(rpos);

  Result := copy(sFilename,rpos - 1, length(sFilename));
end;

foxy 14. Jan 2003 14:16

ok thx nur was bedeutet diese Zeile???ß

Zitat:

dec(rpos);

Luckie 14. Jan 2003 14:19

Kuck mal in der Hilfe. Cursor in das uinbekannte Wort stellen und F1 drücken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 Uhr.
Seite 1 von 2  1 2      

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