Index: freexp/freexp.pas =================================================================== RCS file: /server/cvs/freexp/freexp.pas,v retrieving revision 1.1 retrieving revision 1.7 diff -u -r1.1 -r1.7 --- freexp/freexp.pas 20 Apr 2006 07:20:42 -0000 1.1 +++ freexp/freexp.pas 29 Aug 2006 20:40:44 -0000 1.7 @@ -7,10 +7,19 @@ { wurden, auch in anderen Programmen als FreeXP verwenden zu } { können. } { --------------------------------------------------------------- } -{ $Id: freexp.pas,v 1.1 2006/04/20 07:20:42 mw Exp $ } +{ $Id: freexp.pas,v 1.7 2006/08/29 20:40:44 mw Exp $ } { Unit freexp } unit freexp; {$I-} + +{$IFDEF VER70 } + {$DEFINE BP} +{$ELSE} + {$IFDEF VER80 } + {$DEFINE BP} + {$ENDIF } +{$ENDIF } + interface const FMRead = $00; { Konstanten für Filemode } @@ -26,9 +35,16 @@ procedure fm_rw; { Filemode Read/Write } Function Hex(const l:longint; const n:byte):string; { Hex-Zahl mit n Stellen } Function existf(var f):boolean; { Datei vorhanden ? } +Function exist(const n:string):boolean; { Datei vorhanden ? } implementation +{$IFNDEF WINDOWS } +uses dos; +{$ELSE } +uses windos,strings; +{$ENDIF } + procedure fm_ro; { Filemode ReadOnly } begin filemode:=fmRead; @@ -75,9 +91,55 @@ if ioresult = 0 then ; end; +function exist(const n:string):boolean; +var + {$IFNDEF WINDOWS } + sr : searchrec; + {$ELSE } + sr : Tsearchrec; + sp : Array[0..255] of Char; + {$ENDIF } + ex : boolean; +begin + {$IFNDEF WINDOWS } + FindFirst(n,$27,sr); + {$ELSE } + StrPCopy(sp,n); + FindFirst(sp,$27,sr); + {$ENDIF } + ex:=(doserror=0); + while not ex and (doserror=0) do + begin + FindNext(sr); + ex:=(doserror=0); + end; + {$IFNDEF BP } + FindClose(sr); + {$ENDIF } + exist:=ex; +end; + end. { $Log: freexp.pas,v $ + Revision 1.7 2006/08/29 20:40:44 mw + MW: - Und noch ein Bugfix. + + Revision 1.6 2006/08/29 20:23:31 mw + MW: - Und noch eine Sonderbehandlung für Win16 und OS2. + + Revision 1.5 2006/08/29 20:00:50 mw + MW: - Sonderbedingung für Win16 und OS2 + + Revision 1.4 2006/08/29 18:53:40 mw + MW: - Sauberes Maskieren von FindClose() + + Revision 1.3 2006/08/29 18:46:46 mw + MW: - Wieder nutzbar. + + Revision 1.2 2006/08/29 18:27:45 mw + MW: - Weitere Existensfunktion übernommen. + Revision 1.1 2006/04/20 07:20:42 mw MW: - Neue Unit FreeXP: Diese Unit enthält Routinen die dazu dienen von FreeXP modifizierte @@ -85,5 +147,3 @@ FreeXP zu kompilieren. } - -
------------------------------------------------------------------------ FreeXP CVS-Mailingliste CVS-List@freexp.de http://www.freexp.de/cgi-bin/mailman/listinfo/cvs-list