vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Unterschied in der Schreibweise 
Autor: ModeratorDaveS (Moderator)
Datum: 28.06.05 13:33

Hallo Jake@Net, ja, .Net ist am Anfang schon etwas verwirrend.

Nehmen wir mal an, du hast eine (Fehler-)meldung, die du ausgeben willst (Consoleprogramm oder ein Server, der eine Logdatei schreibt, z.B.).

Du hast die Meldung

Today (datum) I wrote entry number number inforum Forum

(Ist eine Anwendung, die Buch führt über Forumtätigkeiten). Du kannst das so tun

Console.WriteLine("Today (" & Now.ToString() & ") I wrote entry number " & forum.CountOfPosts.ToString() & " in " & form.ForumName & "Forum")

Klappt, ist aber nicht besonders übersichtlicht, und auch ziemlich fehleranfällig, und relativ schwer zu ändern, wenn die Meldung anders werden sollte.

Du kannst es auch so tun:

Console.WriteLine("Today ({0}) I wrote entry number {1} in {2} Forum",Now, forum.CountOfPosts, forum.ForumName)

Ich halte das für viel verständlicher, übersichtlicher, leichter zu ändern und durchaus eine gute Sache. Man braucht auch kein .ToString(), auch wenn man mit Option Strict On arbeitet (sehr empfehlenswert, übrigens).

(Es gibt auch z.B. String.Format(), was ähnlich funktioniert).

Nehmen wir jetzt an, du willst deine Anwendung auch in Deutschland verkaufen (deutsche Foren gibt's ja auch) und willst, dass die Meldung so aussieht:

Heute (datum) habe ich Beitrag Nummer Nummer im forum Forum geschrieben

Bei der ersten Schreibweise musst du die ganze Anweisung umschreiben. Bei der zweiten musst du nur die Meldung selbst übersetzen:

Console.WriteLine("Heute ({0}) habe ich Beitrag Nummer {1} im {2} Forum geschrieben",Now, forum.CountOfPosts, forum.ForumName)

Jetzt kannst du auch problemlos die zwei Strings

"Today ({0}) I wrote entry number {1} in {2} Forum"

"Heute ({0}) habe ich Beitrag Nummer {1} im {2} Forum geschrieben"

als Resourcen ablegen (und dazu noch Französich, Italienisch, Russisch...) weil die Strings fest definiert sind. .Net Resource Management holt für dich dann den String für die eingestellte Sprache und in deinem Programmcode steht nur

Console.WriteLine(messageString,Now, forum.CountOfPosts, forum.ForumName)

was für alle Sprachen gültig ist (nun ja, ganz so einfach ist es nicht immer, und code und Anweisungen Resourcen abzulegen und auszulesen findest du hier oder im Fortgeschrittenen Forum).

Fazit: für den Anfang und für einfache Anwendungen und Meldungen reicht die erste Schreibweise, programmtechnisch besser ist die zweite, und bringt bei fortgeschrittenen Anwendungen erhebliche Vorteile.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Unterschied in der Schreibweise849Jake@Net28.06.05 08:31
Re: Unterschied in der Schreibweise604spike2428.06.05 08:50
Re: Unterschied in der Schreibweise606Elwood28.06.05 09:02
Re: Unterschied in der Schreibweise550spike2428.06.05 09:25
Re: Unterschied in der Schreibweise605Jake@Net28.06.05 09:40
Re: Unterschied in der Schreibweise627spike2428.06.05 09:58
Re: Unterschied in der Schreibweise552Jake@Net28.06.05 10:16
Re: Unterschied in der Schreibweise594ModeratorDaveS28.06.05 13:33
Re: Unterschied in der Schreibweise538Jake@Net28.06.05 13:38
Re: Unterschied in der Schreibweise581spike2428.06.05 14:01
Re: Unterschied in der Schreibweise616Maywood28.06.05 14:28
Re: Unterschied in der Schreibweise 551ModeratorDaveS28.06.05 14:32
Re: Unterschied in der Schreibweise 569Jake@Net28.06.05 14:49
Re: Unterschied in der Schreibweise 615Maywood28.06.05 15:32

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel