Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
Chickenman_
Poster
Poster

Anmeldedatum: 24.04.2007
Beiträge: 149

Textteilen
Verfasst am: 06.06.2007, 22:23

Viele fragen dazu

1.
Wie kann man ein text bzw Zahlen teilen z.b nach 3 buchstaben bzw zahlen.

Dann diese 3 zahlen nehmen und ein "Ä" hinpacken. die zahlen oder buchstaben habe hängen zusammen z.b 123"Ä"456789

2.

Ein Text ist geteilt mit z.b leer zeichen " hallo du da " nun ich möchte jetzt z.b bei jeden leer zeichen ein "," machen

3.

keine ahnung , wie kann man ein Text teilen in der mitte , genau bedeutet z.b
" hallo du " trennung " da wie gehts "

Wäre nett wenn jemand überhaupt dieses thema erklären würde , Wink

nooby gerecht .
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 07.06.2007, 08:26

2) NeuerString = Replace(AlterString, " ", ".")

http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
TheCoder_
Überflieger
Überflieger



Anmeldedatum: 31.12.2006
Beiträge: 359
Wohnort: Essen


Verfasst am: 07.06.2007, 09:33

1)
Stichwort MID funktion.
mid(String,1,3) = "Ä"
ersetzt die ersten drei buchstaben oder zahlen durch ein Ä

2) is geklärt oda?

3)Ich weiß jetzt nich wie du genau in der mitte meinst.
meinst du bei 4 worten ne trennen 2 worte trennnung 2 worte oder meinst du nach buchstaben?
naja ich geh ma von buchstaben aus:
StrText = "10 Zeichen"
Wort1 = Mid(StrText1,1,len(StrText) / 2)
Wort2 = Mid(StrText,len(StrText) / 2)

Hoffe das hilft dir erstmal ^^
Wenn nich --> icq oder hier für alle
 
Chickenman_
Poster
Poster

Anmeldedatum: 24.04.2007
Beiträge: 149


Verfasst am: 07.06.2007, 10:42

zu punkt 3.


In der mitte bedeutet der code lies aus wie viele wörter es im text sind versuch eine mitte zu finden . und setzt dann ein "."


zu 1.

er soll ja nicht ersetzen sondern hin setzen bedeutet nach der 3 zahl / buchstabe kommt ein "," und dann geht es weiter 123 "," 45679

danke Wink
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 07.06.2007, 10:57

1)
[code]
Dim s1 as string
dim s2 as string
Dim neuerstring as string

s1 = left(AlterString, 3)
s2 = mid(alterstring, 3, len(alterstring))

neuerstring = s1 & "AE" & s2[/code]

muss nicht richtig sein aber so ungefaehr

http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
TheCoder_
Überflieger
Überflieger



Anmeldedatum: 31.12.2006
Beiträge: 359
Wohnort: Essen


Verfasst am: 07.06.2007, 11:10

1)
[code]
StrText = "Das ist ein String"
StrWort = Mid(StrText, 1, 3) & "," & Mid(StrText, 4, Len(StrText))
ergibt = Das, ist ein String
[/code]
3)
[code]
Dim Worte() As String
Dim i As Integer
Dim StrText As String
StrText = "Das sind 4 Worte"
Worte = Split(StrText, " ")
For i = 0 To (UBound(Worte) + 1) / 2 - 1 'Achtung bei ungerader Wort anzahl muss erst gerundet werden da etwas ungerades durch 2 eine komma zahl ergibt
StrNew = StrNew & Worte(i)
Next
StrNew = StrNew & "."
For i = UBound(Worte) / 2 To UBound(Worte) 'auch hier muss bei ungeraden worten gerundet werden
StrNew = StrNew & Worte(i)
Next
MsgBox StrNew
[/code]
 
Chickenman_
Poster
Poster

Anmeldedatum: 24.04.2007
Beiträge: 149


Verfasst am: 07.06.2007, 12:42

danke coder , kannst du vielleicht das mit dem "1. ersten teil erklären wie man die dritte stelle anbeilt

will das "ja" lernen nicht copy past Wink

danke Smile

PS. und wie rundet man wörter ?
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 07.06.2007, 12:46

Wie willst du ein Wort runden o0

StrWort = Mid(StrText, 1, 3) & "," & Mid(StrText, 4, Len(StrText))
Da is das erste Mid, es faengt bei 1 an und geht bis Stelle 3...
Das 2. Mid faengt bei 4 an und geht bis zum Ende.

http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
TheCoder_
Überflieger
Überflieger



Anmeldedatum: 31.12.2006
Beiträge: 359
Wohnort: Essen


Verfasst am: 07.06.2007, 12:54

Du sollst kein wort runden. in der vorschleife werde array inhalte durchlaufen. Damit ich nen mittelwert hab muss ich das teilen. wenne ne ungerade anzahl an array inhalten hast klappt das nich. habs auch nur mit 4 worten getestet. musste ma schauen wahrscheinlihc brauchste noch die funkion Round

und der erste teil erklären.
Mid(StrText, 1, 3)
sucht der ersten drei buchstaben aus dem wort da bei der mid funktion 1 als start drei als ende angeben is. dann kommt & "," & was heißt das ein komma gesetzt wird. da wir ja bereits die ersten drei haben.
und zum schluss noch den rest des strings wieder drann hängen:
Mid(StrText, 4, Len(StrText))
fängt halt beim 4. zeichen des originals (!!! nich das mit dem komma) an und geht bis zum schluss desegen nochmal die funktion len
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 07.06.2007, 12:56

Wobei Len(StrText) hier eg. nicht optimal ist, da du ja wenn du bei 4 startest, darueber "hinausgehst". Richtig waere ja theoretisch dann Len(StrText) - 4 ;D Aber das is irrelevant in den meisten Faellen.

http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
TheCoder_
Überflieger
Überflieger



Anmeldedatum: 31.12.2006
Beiträge: 359
Wohnort: Essen


Verfasst am: 07.06.2007, 12:59

?
is doch richtig. ich beginne bei 4 und gehe bis zum ende.
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 07.06.2007, 13:05

Von der Laenge her gehst du die ganze Laenge des Textes aber beginnst bei 4 ;D

http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
Chickenman_
Poster
Poster

Anmeldedatum: 24.04.2007
Beiträge: 149


Verfasst am: 07.06.2007, 13:14

Wink danke für die erklärung Wink

Nun noch eine frage "dauer fragen steller Wink "


wir haben vor eine serial key zu erstellen . für ein programm

nun können wir das leicht man
if name.text = "Hans " then

if pw .text = "123456" then
text2.enabel = true

end if
end if

So nun das wäre viel zu einfach und total langweilig Smile

Wie kann man nun eine serial key machen .

z.b

Jedes H ist gleich eine 9
jedes A ist gleich eine 12
jedes N ist gleich eine 3
jedes s ist gleich eine 0
jedes E ist gleich eine 80

Dann ist nun die serial 9123080

Bedeutet wie kann man Buchstaben zu zahlen machen
also mit if geht das wahrscheinlich aber wie

If text1.text = "H " bedeutet ja ist text1 text gleich H mach was


Wink gruß
 
TheCoder_
Überflieger
Überflieger



Anmeldedatum: 31.12.2006
Beiträge: 359
Wohnort: Essen


Verfasst am: 07.06.2007, 13:16

ich dachte immer mid funktion is
String,StartPosition,End Position
aber wie du meinst wäre es doch
String,Startpostition,Zeichen bis zum Ende

hm wusst ich net aber macht vom ergebnis her eh nix da ja nach dem ende nix mehr kommt was mit ausgegeben werden könnte. erhört unter umständen nur die laufzeit

EDIT:// Für ne richtige Serial brauchste einen algorythmus....Dann wird jedes mal eine andere erstellt und nur wenn sie dem algorythmus entspricht dann gehts. Natürlich hast du, weil du den algorythmus kennst, nen keygen dafür und kannst somit an jeden den du vertraust eine andere serial geben.
Zu dem wie du es machen willst....stichwort ascii werte
 
Bahamut_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 12.12.2006
Beiträge: 250


Verfasst am: 07.06.2007, 16:12


Mit der Methode kann aber jeder andere auch "Hans" als Name eingeben, auch wenn er nicht so heist. Somit is der Schutz leicht auszuhebeln, is braucht nur einer seinen Namen + Serial weitergeben.

Viel besser ist, wenn du den "Namen" vorgibst, also etwas festes was bei jedem PC anders ist und die User müssen dann dir den "Namen" geben und du gibts ihnen die passende Serial. Somit kann keiner seine Daten weitergeben, weil der "Name" ja überall anders ist.

Was soll nun aber der "Name" sein? Ganz gut wäre z.b eine Mischung aus Festplattenserial und Computername.

Nachteil: Wenn einer seinen Computer umbenennt (warscheinlich) oder eine neue Festplatte kauft( eher unwarscheinlich) funktioniert die alte Serial nichtmehr.

Vorteil: Man kann die Serial an keinen anderen weitergeben, weil der ja eine andere Festplattenserial (nicht änderbar) und anderen Computername (änderbar) hat.

Es darf halt nicht so leicht zu erkennen sein, wie der Algo funktioniert und aus was der "Name" besteht.
VB.Net-Compiler: http://www.microsoft.com/germany/express/download/default.aspx
VB.Net-eBook: http://www.galileocomputing.de/openbook/visual_basic/
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: text teilen, zahlen teilen, zeichen, buchstaben, mitte

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wichtig: Filebrowser z.B. für ein RAT 2206 13.01.2008, 12:14
Keine neuen Beiträge msgbox mit symbol _&_ z.B. yesno oder systemmodal 1156 27.09.2008, 00:16
Keine neuen Beiträge Abändern eines Ordnernamens (z.B. C:\Programme = Programme) 1295 23.04.2008, 16:33
Keine neuen Beiträge "Zurück-Funktion" mit Listview und z.B. DirView 823 17.04.2008, 14:30
Keine neuen Beiträge Fenster auslesen z.b von icq oder msn wer online kommt 1336 11.02.2008, 17:46
 


[ Time: 0.2094s ][ Queries: 124 (0.1292s) ][ GZIP on - Debug on ]