AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

asci in Integer!!

Ein Thema von Delphieinsteiger · begonnen am 17. Sep 2007 · letzter Beitrag vom 18. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2      
Delphieinsteiger

Registriert seit: 17. Aug 2007
45 Beiträge
 
#1

asci in Integer!!

  Alt 17. Sep 2007, 15:52
Hallo

Bräuchte mal hilfe beim umwandeln!

Ich möchte diesen String von asci Zeichen 575053575748505553 in einen Solchen String wandeln 925990275

Ich habe es schon so versucht Datum[m]:=inttostr(ord(String1[m])) aber dann sagt man mir:

[Fehler] Unit1.pas(146): Inkompatible Typen: 'Char' und 'String'. Ich möchte nämlich den integerstring so zuweisen Datum:String[9]; Versuche es schon seit Stunden aber komme nicht darauf.

Danke im voraus!!
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: asci in Integer!!

  Alt 17. Sep 2007, 16:00
Was ist denn das für eine Berechnungsvorschrift/etc.
575053575748505553 --> 925990275
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#3

Re: asci in Integer!!

  Alt 17. Sep 2007, 16:05
Zitat von sirius:
Was ist denn das für eine Berechnungsvorschrift/etc.
575053575748505553 --> 925990275
Immer 2 Ziffern als ASCII-Codierung für ein Zeichen

//Edit:
Ungetestet (da kein Delphi hier auf der Arbeit) und nur gschwind runtergeschludert:
Delphi-Quellcode:
function ASCIIToString(String s) : String;
var i : Integer;
Begin
  i := 0;
  result := '';
  while i < length(s) do
  begin
    temp := Copy(s,i,2);
    result := result + Chr(StrToInt(temp));
    inc(i,2);
  end;
end;
Keine Ahnung, ob das passt, sollte es aber eigentlich... Wobei, üblicherweise verstecke ich immer mindestens 2 Fehler in solchen Codestückchen
Wichtig ist hier auch, dass der ASCII-String natürlich eine gerade Anzahl Zeichen haben muss, sonst knallts Musst also evtl. noch etwas daran arbeiten
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: asci in Integer!!

  Alt 17. Sep 2007, 16:14
Sowas in der Art sollte es tun...
Delphi-Quellcode:
Function OrdStrToChrStr( Const sOrd: String ): String;
Var len: Integer;
    i: Integer;
    iOut: Integer;
    sPart: String;
Begin
  Result := '';
  len := Length( sOrd );
  i := 1;
  While i <= Len Do Begin
    If i = Len Then Begin
      sPart := sOrd[ i ];
      Inc( i );
    End Else Begin
      sPart := sOrd[ i ] + sOrd[ i +1 ];
      Inc( i, 2 );
    End;
    If TryStrToInt( sPart, iOut ) Then Result := Result + Chr( iOut )
    Else Raise Exception.Create( 'No int: "' + sPart + '"' );
  End;
End;

Bye Christian

Edit: Funktionsnamen geändert...
Christian
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: asci in Integer!!

  Alt 17. Sep 2007, 16:14
Zitat von leddl:
Zitat von sirius:
Was ist denn das für eine Berechnungsvorschrift/etc.
575053575748505553 --> 925990275
Immer 2 Ziffern als ASCII-Codierung für ein Zeichen
Man sieht, dass du aus einer ganz anderen Perspektive schaust

Also:
1. Hat der Compiler (wie immer) Recht, dass du aus inttostr einen String bekommst und den in einen Char von Datum reinpressen willst. Besser in dem Fall du hängst einfach an (Datum:=Datum+ ... )
2. Soll string1[m] auf 57 .. etc zugreifen und nicht auf "5" und als nächstes auf "7"

Da musst du wohl noch ein bisschen basteln.
(Glück muss man haben. Warum gabs eigentlich keinen roten Kasten )
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: asci in Integer!!

  Alt 17. Sep 2007, 16:15
Hi leddl,

wenn es [b]IMMER[/b] zwei zeichen sind, hilft dir vielleicht das:
Delphi-Quellcode:
function Umwandeln(sSrc: String): String;
var
  i, dez: Integer;
begin
  Result := '';
  i := 1;
  while i < (length(sSrc) - 1) do
  begin
    if not TryStrToInt(sSrc[i] + sSrc[i+1], dez) then
      dez := 0;
    Result := Result + Chr(dez);
    inc(i, 2);
  end;
end;
Grüße
Ansgar
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#7

Re: asci in Integer!!

  Alt 17. Sep 2007, 16:19
Zitat von angos:
Hi leddl,

wenn es [b]IMMER[/b] zwei zeichen sind, hilft dir vielleicht das:
Delphi-Quellcode:
function Umwandeln(sSrc: String): String;
[...]
Wie gesagt, ich hab nicht viel Zeit drauf verwendet, und es einfach runtergeschrieben. Es ging mir dabei weniger darum, den Code schon perfekt zu machen, als eher darum, dass Delphieinsteiger einen Grundbaustein bekommt, den er für sich noch verbessern kann

//Edit:
Ei ei ei, ich sehe gerade, du antwortest nicht auf mein Edit Ich nix Threadstarter, ich sein nur Helfer mit Durchblick
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#8

Re: asci in Integer!!

  Alt 17. Sep 2007, 16:19
Datum[m]:=inttostr(ord(String1[m])) Datum[m] ist ein Zeichen, also ein Char, die ord-Funktion gibt (in einen String umgewandelt) 2 Zeichen zurück, dadurch klappt das nicht, denke ich.
Karl-Heinz
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: asci in Integer!!

  Alt 17. Sep 2007, 16:21
Hi leddl,

sorry meinte nicht dich, sondern den Delphieinsteiger hab wohl mal wieder die finger nicht mitm kopp verbunden
Ansgar
  Mit Zitat antworten Zitat
Delphieinsteiger

Registriert seit: 17. Aug 2007
45 Beiträge
 
#10

Re: asci in Integer!!

  Alt 17. Sep 2007, 18:06
Vielen Dank für die vielen Tipps!!

Ich denke jetzt müßte ich es hinkriegen.
Werde es morgen direkt ausprobieren!

Also Danke an alle!!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz