Autor |
Beitrag |
crakos
      
Beiträge: 195
D2k5 Pers
|
Verfasst: So 01.05.05 20:16
//////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
///////////////Erkentnisse aus diesem Thread: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Fehler im dritten code auf dieser seite in zeile 8 und 11 muss jeweils text durch text2 ersetzt werden
//////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Also ich find es ziemlich peinlich das jetzt fragen zu müssen, aber was mach ich hier verdammt nochmal falsch oO
wollte die procedure verkürtzen in dem ich hierraus
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| positionx:=1; if pos('ä',text)> 0 then while positionx>0 do begin positionx:=pos('ä',text); delete(text,positionx,1); insert('AEUMLAUTIX',text,positionx); positionx:=pos('ä',text); end; |
Was mit ätzendvielen anderen zeichen gemacht wird.
das funktioniert perfekt (mit repeat schleife würde nur eine zeile[positionx:=1;]wegfallen daher hab ich das so gelassen
so nun wollte ich dafür das machen
Delphi-Quelltext 1: 2:
| Function TForm1.umlaute (text:string):string; text:=specialchar(text,'ä','AE'); |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| function TForm1.specialchar(text2,vchar,nchar:string):string; var positionx:integer; begin positionx:=1; if pos('vchar',text2)> 0 then while positionx>0 do begin positionx:=pos('vchar',text); delete(text2,positionx,1); insert(nchar+'UMLAUTIX',text2,positionx); positionx:=pos('vchar',text); end; result:=text2; end; |
Wo ist mein dummer fehler? Jegliche verbesserungen erwünscht, egal was! hab versucht in der deffinition mit const zu arbeiten misslang mir aber völlig Oo
Es wird übrigens kein fehler angezeit, sonder es passiert einfach nix Oo.
Zuletzt bearbeitet von crakos am So 15.05.05 19:53, insgesamt 1-mal bearbeitet
|
|
Keldorn
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: So 01.05.05 20:22
du suchst aber nicht sowas wie stringreplace?
Mfg Frank
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|
crakos 
      
Beiträge: 195
D2k5 Pers
|
Verfasst: So 01.05.05 20:30
öhm was ist ein stringreplace?
Ich wollte die funktion vereinfachen, in dem ich einer anderen funktion den buchstaben übergebe den er suchen soll und den durch den er ihn ersetzen soll
//wens interessiert, ist nen verschlüsselungsprogram polyalphabetischeverschlüsselung
//welchesnur mit normalen buchstaben funktioniert und mit dieser funktion verschlüssel
//ich öäü zahlen und leerzeichen punkte kommas und kann sie nachher wieder entschlüsseln
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: So 01.05.05 20:32
wenn es dir nur darum geht, einen string nach einer bestimmten zeichenfolge oder nach wörtern oder buchstaben zu durchsuchen und diese mit anderen zu ersetzen, empfehle ich dir wärmstens StringReplace. syntax:
Delphi-Quelltext 1:
| StringReplace(meinText, 'ä', 'ae', [rfIgnoreCase, rfReplaceAll]); |
Das ersetzt in einem String (meinText) alle ä und Ä mit ae. lass das rfIgnoreCase weg, um nur die äs statt die Äs zu ersetzen, rfReplaceAll erklärt sich wohl von selbst...
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
crakos 
      
Beiträge: 195
D2k5 Pers
|
Verfasst: So 01.05.05 20:36
gut wieder was dazu gelernt, danke
nun zurück zu meinem problem
warum funktioniert es nicht, sprich warum läuft es nicht?
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: So 01.05.05 20:39
WOS!!! ein verschlüssler  ich hab auch einen geschrieben. mein wichtigster algo:
Delphi-Quelltext 1: 2:
| for i:=1 to length(text) do text[i]:=Char(Byte(Ord(text[i])+Ord(key[i]))); |
Bei dieser Variante muss der schlüssel key genauso lang sein wie der text. es handelt sich hierbei um eine art von Vigenère verfahren, welches allerdings nicht auf der caesar verschiebung basiert, sondern auf einer byteweisen addition, also bei schlüssel: a und text b wird daraus (a=65, b=66) a+b=131, was keine ahnung welchem zeichen entspricht... kostprobe:
Quelltext 1: 2: 3:
| text : hallo ich bin JayEff key : dies ist ein schlüssel ergebnis: ÌÊÑß�‰Ü׈…Ë׎“ÉåAÙÙ |
functionen erwarten immer ein begin - end. das muss also rein. und die fehlermeldung muss auch rein. wie lautet sie denn? (meine kristallkugel is in der werkstadt weist du...  )
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
Holgerwa
      
Beiträge: 325
WIN XP Pro, Vista Business
Delphi 7 Pro, BDS 2006 Pro
|
Verfasst: So 01.05.05 20:47
|
|
crakos 
      
Beiträge: 195
D2k5 Pers
|
Verfasst: So 01.05.05 21:01
Yeah,  das war der fehler  danke  da stand voher 'ä' und ich hab nur das ä durch vchar ersetzt
so nun hab ich ne frage wegen dem stringreplace
ich habe Delphi-Quelltext 1:
| stringreplace(text2,vchar,nchar,[rfIgnoreCase,rfReplaceAll]); |
versucht, aber da macht der nix :/ sollte das nicht so funktionieren?
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: So 01.05.05 21:13
Delphi-Quelltext 1:
| text2:=stringreplace(text2,vchar,nchar,[rfIgnoreCase,rfReplaceAll]); |
dazu hättest du aber nicht das forum fragen müssen, da hätte ein simples markieren von "stringReplace" und dann ein druck auf F1 gereicht, schon wüsstest du, dass StringReplace eine FUNKTION keine PROCEDURE mit VAR parameter ist... ^^
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
crakos 
      
Beiträge: 195
D2k5 Pers
|
Verfasst: So 01.05.05 21:21
ups  danke  ach und deine verschlüsselung ist ql
aber sachmal was bringt das Byte? da kommt doch das selbe raus, oder nicht?
habs grad mal ausprobiert, führt doch zum selben resultat.
//edit ach und bei mir sieht das so aus
Delphi-Quelltext 1: 2: 3:
| text : hallo ich bin JayEff key : dies ist ein schlüssel ergebnis: KIPDWDXIZMWKSPZEDEFWQBAKZEIMERGPWJMEPLXBMPJAGPMRJBLTQWMQWDCXAFBTCMSX |
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Mo 02.05.05 16:58
das Byte ist nur zur sicherheit, es sorgt dafür, dass die zahl auch innerhalb von 255 bleibt. weis nicht, obs nötig ist... aber deine verschlüsselung ist polyalphabetisch? NUR polyalhabetisch? find ich komisch - ist aus deinem klartext nicht viel mehr code geworden, als er vorher war?
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
crakos 
      
Beiträge: 195
D2k5 Pers
|
Verfasst: Mo 02.05.05 22:14
jup ist mehr code geworden, und das ist auch einfach zu erklären. ich kann mit dem system nur großbuchstaben verwenden, alles andere filter ich voher raus. nun wollte ich gerne ä,ü,ö die zahlen leerstellen punkte kommas doppelpunkte aber mit verschlüsseln.
dafür ersetze ich ä ind AE+etwas wases im deutschen nicht gibt bei mir umlautix (jaja geht kürtzer geht aber so  )
dann chiffrier ich diesen text und lies in nachher wieder aus, daher wird der so lang
//achso zur vollständigkeit, fehler im ersten code auf dieser seite in zeile 8 und 11 muss jeweils text durch text2 ersetzt werden
|
|