schwer?
-
Dann stell sinnvolle Fragen die ein normaler Mensch verstehen kann.
-
ja wo liegt das problem? *g*
der benutzer gibt ein:
Copy "C:\test.txt" "C:\Windows\test.txt"
Das Programm kopiert die Datei test.txt in C:\Windows\test.txtstring s = " "; s = Console.ReadLine(); //Benutzer gibt C:\\test.txt und C:\\Windows\\test.txt //als Parameter ein if ( s.ToUpper().StartsWith("COPY:") == true ) { File.Copy("C:\\test.txt", "C:\\Windows\\test.txt"); //sollen variabel sein }
Das wäre ein Code, aber die 2 Attribute beim Copybefehl (C:\\test.txt und C:\\Windows\\test.txt) können ja verschieden sein, falls der Benutzer was anderes eingibt...aber der Kopiervorgang soll trotzdem mit dem vom Benutzer eingegebenen Daten gemacht werden.
Wie geht das?
-
Jede vernünftige String-Klasse sollte auch Substring-Behandlung und Zeichensuche mitbringen
(ich weiß nicht, ob die .NET String's "vernünftig" sind - notfalls schreibst du es dir selber) Damit kannst du den Eingabestring dann zerlegen und die beiden Dateinamen herausfiltern.
-
Also hätte er von "String zerlegen" oder sowas gesprochen... Tses..
Attribute eines Strings sind für mich ja mal was völlig anderes (gerade noch in C#.NET, wo Attribute ein Bestandteil der Sprache sind)
Ach BTW: Hast Du SharpDevelop oder Visual Studio Express zum Programmieren? Dann gib doch mal "s" und einen Punkt ein und such Dir was schönes aus der Liste die dann erscheint aus
Stichworte u.a. Find und Substring
-
Kannst dir auch mal System.IO.Path anschauen, enthält einige schöne Sachen
.
-
also ja ich meine "string zerlegen"
hilft das weiter?
-
sy für den doppelpost, wollte nur noch mein problem genauer beschreiben.
eingegeben: "Copy: C:\test.txt C:\Windows\test.txt""Copy:" soll in einen anderen String geschrieben werden.
"C:\test.txt" soll in einen anderen string geschrieben werden
"C:\Windows\test.txt" soll in einen anderen string geschrieben werden.wie geht das?
mfg
-
hoffentlich hilft dir niemand, denn wie steht es mit eigeninitiative?
-
schau dir nochmal LordJaxom's Post an: mit s.Find(...) findest du die Position der Leerzeichen in deinem Eingabestring, mit s.Substr(...) kannst du die entsprechenden Teilstrings bestimmen.
-
ja das habe ich schon probiert.
mti s.find() klappts auch soweit..
doch ich wieß nicht wies weiter geht?
kannst du mir helfen?mfg
-
sy jetzt habe ich mich verschrieben
folgendes habe ich bereits:using System; using System.IO; namespace test { /// <summary> /// Zusammenfassung für Class1. /// </summary> class Class1 { /// <summary> /// Der Haupteinstiegspunkt für die Anwendung. /// </summary> [STAThread] static void Main(string[] args) { string x = "df"; string s ="copy: se fe"; x=s.Substring(0, 5); Console.WriteLine(x); Console.Read(); } } }
s.Find() gibt es bei mir nicht!!!!
mfg
-
du musst den string halt irgendwie "splitten"
s.Find() gibts bei mir auch nicht, vlg ist das erst ab Framework 2.0 verfügbarlg
-
wie splittet man?
-
Leute Leute, schonmal was von der MSDN gehört? Da steht alles mehr als ausführlich drin. Bei deinem Beispiel würdest bei s.Split(' '); nen Stringarray mit "copy:", "se" und "fe" zurückbekommen.
-
if(theString.ToUpper().StartsWith("Copy:")==true||theString.ToUpper().StartsWith("copy:")==true) { string[] s = theString.Split(new char[] {' '}); foreach (string sp in s) { if (sp.Trim() != "") Console.WriteLine(sp); } }
das ist der code
theString ist der eingelesene String.
Nun will ich aber das File.Copy() mit den zwei Attributen(a - b) des Strings (Copy: a b) ausgeführt wird.
wie?
-
Du hast dein Array, in dem hintereinander "Copy:", "a" und "b" drinstehen - das mußt du nur noch richtig zusammenbauen
PS: Bist du sicher, daß du das richtige Fach studierst?
-
halt einfach dein dummes ******
-
In dem Ton landest du nur auf der Bannliste des Forums.
(kleiner Hinweis: Das Programm ist deine Aufgabe - also mußt du auch ein kleines bischen Eigeninitiative zeigen und mitdenken)
-
Der Junge scheint mir unselbstständig UND unausgeglichen
-
ja dann bannt mich!!!
kommt schon bannt mich!!!