Autor Beitrag
crakos
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 195


D2k5 Pers
BeitragVerfasst: 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
ausblenden 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
ausblenden Delphi-Quelltext
1:
2:
Function TForm1.umlaute (text:string):string;
text:=specialchar(text,'ä','AE');


ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 195


D2k5 Pers
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: 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:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 195


D2k5 Pers
BeitragVerfasst: So 01.05.05 20:36 
gut wieder was dazu gelernt, danke :D
nun zurück zu meinem problem
warum funktioniert es nicht, sprich warum läuft es nicht?
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 01.05.05 20:39 
WOS!!! ein verschlüssler :D ich hab auch einen geschrieben. mein wichtigster algo:

ausblenden 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:
ausblenden 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... :D)

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Holgerwa
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 325

WIN XP Pro, Vista Business
Delphi 7 Pro, BDS 2006 Pro
BeitragVerfasst: So 01.05.05 20:47 
user profile iconcrakos hat folgendes geschrieben:

ausblenden Delphi-Quelltext
1:
  if pos('vchar',text2)> 0 then					

Wo ist mein dummer fehler?

Du willst doch sicherlich nach dem Inhalt der Variablen vchar suchen, und nicht nach dem String 'vchar', oder?
Also:
ausblenden Delphi-Quelltext
1:
  if pos(vchar,text2)> 0 then					

Holger
crakos Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 195


D2k5 Pers
BeitragVerfasst: So 01.05.05 21:01 
Yeah, :D das war der fehler :D danke ;) da stand voher 'ä' und ich hab nur das ä durch vchar ersetzt :D

so nun hab ich ne frage wegen dem stringreplace
ich habe
ausblenden Delphi-Quelltext
1:
stringreplace(text2,vchar,nchar,[rfIgnoreCase,rfReplaceAll]);					

versucht, aber da macht der nix :/ sollte das nicht so funktionieren?
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 01.05.05 21:13 
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 195


D2k5 Pers
BeitragVerfasst: So 01.05.05 21:21 
ups :P danke ;) ach und deine verschlüsselung ist ql :D
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
ausblenden Delphi-Quelltext
1:
2:
3:
text    : hallo ich bin JayEff  
key     : dies ist ein schlüssel  
ergebnis: KIPDWDXIZMWKSPZEDEFWQBAKZEIMERGPWJMEPLXBMPJAGPMRJBLTQWMQWDCXAFBTCMSX
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 195


D2k5 Pers
BeitragVerfasst: 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