![]() |
lstrpos ?
moin,
gibt es irgendeine API funktion mit der ich ein vorkommen eines chars/strings in einem string prüfen kann? eben wie Pos()? |
Re: lstrpos ?
Hi,
kopiere doch die Pos (AnsiStrPos, StrPos) Funktion aus der SysUtils in dein Programm. Mindestens eine davon ist in reinem Assembler ohne aufruf von anderen Funktionen geschrieben, sodass du diese einfach kopieren kannst. mfG miraege228 |
Re: lstrpos ?
In der Shlwapi.dll gibt es einige C-String-Funktionen. Für deinen Zweck also:
strchr() für die Position eines Zeichens strstr() für die Position eines Substrings |
Re: lstrpos ?
hallo mirage,
ich bräuchte eine function die mit PChars arbeitet, gibts da keine dreikt aus der api, ohne das ich was aus den delphi units kopieren muss? EDIT: @Chewie, guck ich mir an, danke :) edit2: hat jede windows version diese dll? Edit3: ich hab sie ja nichtmal in winxp -_- |
Re: lstrpos ?
Zitat:
|
Re: lstrpos ?
stimmt, wenn ich ins verzeichnis gucke ist sie da, danke.
mit der suche hats vorhin nicht geklappt :gruebel: und wie hat chewierausgefunden das die dll solche funktionen hat? ich meine, windows hat ja bald 1000e |
Re: lstrpos ?
Er hat es mal im PSDK gesehen?
|
Re: lstrpos ?
wo da? hast du n stichwort?
|
Re: lstrpos ?
Hi,
wie wäre es, wenn du im PSDK nach dem Namen der DLL suchst oder nach dem Funktionsnamen?! :gruebel: Chris |
Re: lstrpos ?
hab ich, sonst würd ich hier kaum fragen... :roll:
|
Re: lstrpos ?
Hi,
![]() ![]() ![]() Zitat:
Chris |
Re: lstrpos ?
Es ist ziemlich sinnlos einfache String-Funktionen aus obskuren Windows-DLLs aufzurufen.
Niemand garantiert das die Funktionen dort exportiert bleiben. Zusaetzlich ist das auch noch heftig ineffizient. Was spricht dagegen die Delphi-Funktionen fuer diesen Zweck aufzurufen? Ansonsten ist die Jedi Code Library der richtige Ort nach weiteren String-Funktionen zu suchen. |
Re: lstrpos ?
Hi Robert,
grundsätzlich hast du Recht und ich will dir auch nicht widersprechen. Das Problem bei den Delphi-Funktionen ist, dass sie in der SysUtils stehen. Und so, wie ich das verstanden habe geht es hier um ein nonVCL-Programm. Und da ist die SysUtils-Unit Gift. ;) Chris |
Re: lstrpos ?
jo stimmt, es ist eine DLL und die möchte ich natürlich kleinhalten ;)
danke nochmal. |
Re: lstrpos ?
Zitat:
![]() |
Re: lstrpos ?
ok, sagen wir mal es ist "schlecht" diese dlls zu benutzen, welche Alternativen habe ich denn?
die C/C++ Coder müssen doch auch irgendeine "normale" Pos-function kennen/haben. gibt es denn Keine sonst? Was ich nämlich vor habe, ist, einen PChar zu parsen. ALso der PChar sieht z.b so aus: HKEY_LOCAL_MACHINE\\pfad\zum\key\\key\\[value] jetzt möchte ich alle 3(oder auch 4) teile getrennt durch "\\" in einem extra PChar haben. wie ich das hinkriege ist mir schleierhaft |
Re: lstrpos ?
Zitat:
|
Re: lstrpos ?
ich hoffe nicht das ich die einbinden muss :pale:
|
Re: lstrpos ?
Hi,
schreibe dir doch deine eigene Funktion dafür. So schwer ist das nicht. ;) Chris |
Re: lstrpos ?
also ich hab keine idee, hast du ein beispiel parat?
Sollte natürlich schon mit den PChars gehen, ohne das ich es mit string(PChar) und PChar(string) umwandeln muss :angle2: |
Re: lstrpos ?
Hi,
für Strings (in PChar kannst du das ganze ja umschreiben, funktioniert ja fast genauso [AFAIK zumindest ;)]):
Delphi-Quellcode:
SourceCode habe ich nicht getestet, sollte aber einwandfrei funktionieren.
function StrPos(ASubStr: string; AHaystack: string): integer;
var i: integer; sTemp: string; begin for i:=1 to length(AHaystack) do begin sTemp := Copy(AHaystack, i, length(ASubStr)); if sTemp = ASubStr then begin Result := i; Exit; end; end; Result := -1; end; Chris |
Re: lstrpos ?
danke, teste ich gleich mal :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:27 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