![]() |
AW: grep.exe unter Windows findet NICHTS – Wer hätte Beispiel-Aufrufe?
Vielen Dank Delphi.Narium für Deine ausführlichen Erläuterungen! :thumb: :-D
Zitat:
Grüße, Andreas |
AW: grep.exe unter Windows findet NICHTS – Wer hätte Beispiel-Aufrufe?
Es ist halt ein Unterschied, ob man Dinge für ein anderes System anpasst+bereitstellt, oder ob man es einfach nur doof dafür kompiliert.
z.B. GIT, da das Paging in der Console ist einfach nur krank. der verhält sich garnicht so, wie man es im Windows kennt ... der Dreck hört nichtmal auf Ctrl+C und die einzige Lösung ist die Console zu schließen, denn alle möglichen Tasten der Tastatur durchzuprobieren um den Mist zuzubekommen, obwohl die Console im Windows von selbst zurückscrollen kann und man diesen Mist also garnicht braucht. per se ist es im Linux oft (nicht immer) schon bissl konsequenter. - für einbuchstabige Kurzoptionen, -- für die Langversion und -abc ist somit kein "abc" sondern -a, -b und -c Gut, Konsolenprogramme im Windows haben gern eine GUI und oft nicht soooooo viele Optionen, als dass man zwischen Groß- und Kleinschreibung unterscheiden muß und sich die Masse eh nie merken kann. gutes Beispiel sind die Übermasse an Optionen im GIT. |
AW: grep.exe unter Windows findet NICHTS – Wer hätte Beispiel-Aufrufe?
Zitat:
Die Bedienungsanleitung von Grep für Unix stimmt mit der Bedienungsanleitung für Windows überein, einzig bei der Art, wie die Kommandozeilenoptionen anzugeben sind, gibt es betriebssystemseitige Unterschiede. Strenggenommen liegen die Unterschiede außerhalb des Programmes Grep, es (bzw. die die Software Entwickelnden) hat (haben) auf diese Unterschiede keinen Einfluß. Die Kommandozeile ist Teil des Betriebssystemes und dort wird u. a. durch " bzw. ' gesteuert, wie das Betriebssystem die Eingaben auf der Kommandozeile an das Programm weiterreicht. Der Vergleich Zitat:
Es wäre eher so, als würde man erwarten, dass in der Bedienungsanleitung für einen VW, den man in England kauft, explizit mit drinstehen müsste, dass man mit diesem Auto aus Deutschland in England links zu fahren hat ;-)
Delphi-Quellcode:
begin
// Kommandozeile: // grep -i 'TBrent' KonkreterDateiName.dpr // unter Windows WriteLn(ParamCount); // = 3 WriteLn(ParamStr(1)); // -i WriteLn(ParamStr(2)); // 'TBrent' WriteLn(ParamStr(3)); // KonkreterDateiName.dpr // unter Unix WriteLn(ParamCount); // = 3 WriteLn(ParamStr(1)); // -i WriteLn(ParamStr(2)); // TBrent WriteLn(ParamStr(3)); // KonkreterDateiName.dpr // Kommandozeile: // grep -i "TBrent" KonkreterDateiName.dpr // unter Windows WriteLn(ParamCount); // = 3 WriteLn(ParamStr(1)); // -i WriteLn(ParamStr(2)); // TBrent WriteLn(ParamStr(3)); // KonkreterDateiName.dpr // unter Unix WriteLn(ParamCount); // = 3 WriteLn(ParamStr(1)); // -i WriteLn(ParamStr(2)); // "TBrent" WriteLn(ParamStr(3)); // KonkreterDateiName.dpr // Kommandozeile: // grep -i 'dies und das ' KonkreterDateiName.dpr // unter Windows WriteLn(ParamCount); // = 5 WriteLn(ParamStr(1)); // -i WriteLn(ParamStr(2)); // 'dies WriteLn(ParamStr(3)); // und WriteLn(ParamStr(4)); // das' WriteLn(ParamStr(5)); // KonkreterDateiName.dpr // unter Unix WriteLn(ParamCount); // = 3 WriteLn(ParamStr(1)); // -i WriteLn(ParamStr(2)); // dies und das WriteLn(ParamStr(3)); // KonkreterDateiName.dpr // Kommandozeile: // grep -i "dies und das" KonkreterDateiName.dpr // unter Windows WriteLn(ParamCount); // = 3 WriteLn(ParamStr(1)); // -i WriteLn(ParamStr(2)); // dies und das WriteLn(ParamStr(3)); // KonkreterDateiName.dpr // unter Unix WriteLn(ParamCount); // = 5 WriteLn(ParamStr(1)); // -i WriteLn(ParamStr(2)); // "dies WriteLn(ParamStr(3)); // und WriteLn(ParamStr(4)); // das" WriteLn(ParamStr(5)); // KonkreterDateiName.dpr end. |
AW: grep.exe unter Windows findet NICHTS – Wer hätte Beispiel-Aufrufe?
Die Win32-API selber hat leider garkeine Behandung für Parameter und gibt ausschließlich den kompletten String zurück.
![]() Das machen die Programmiersprachen selber und da ist/war Delphi nicht wirklich hilfreich, bei der Behandlung von "Optionen". Parameter auflisten und durchgehn mußte man ja selber und nur das " wird hier zumindestens beachtet, da das so schon von der Console (CMD) eine Vorgabe für Programmaufrufe war. .NET und C# haben da schon mehr ![]() |
AW: grep.exe unter Windows findet NICHTS – Wer hätte Beispiel-Aufrufe?
Zitat:
![]() |
AW: grep.exe unter Windows findet NICHTS – Wer hätte Beispiel-Aufrufe?
Stell dir mal vor die Hilfe würde solche Funktionen untereinander verlinken. :stupid:
Ohhh, gibt es erst seit Windows 2000 ... zu spät ... das bekommt Delphi in so kurzer Zeit doch nicht mit und benutzt weiterhin sein Eigenes, noch aus TurboPascal-Zeiten. OK, aber dennoch mußt du dabei / - -- und sonstwas selbst behandeln und das kann dann jeder nach Gutdünken sonstwie machen. Bzw. man muß es entweder selber machen, so wie man grade denkt es wäre geil, oder sich eine Komponente suchen, wo "dieser" Entwickler denkt es wäre geil so. |
AW: grep.exe unter Windows findet NICHTS – Wer hätte Beispiel-Aufrufe?
Danke Euch allen für Eure wertvollen Tipps & Erläuterungen: Ihr habt mir sehr geholfen! :thumb: :angel:
Viele Grüße Andreas |
AW: grep.exe unter Windows findet NICHTS – Wer hätte Beispiel-Aufrufe?
BTW: für neue Consolen-Projekte verwende ich immer VSoft.CommandLine
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 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