AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Buchstaben als Zahl geht-aber Zahl zu Buchstabe geht nicht

Buchstaben als Zahl geht-aber Zahl zu Buchstabe geht nicht

Ein Thema von blondervolker · begonnen am 4. Feb 2012 · letzter Beitrag vom 6. Feb 2012
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#11

AW: Buchstaben als Zahl geht-aber Zahl zu Buchstabe geht nicht

  Alt 4. Feb 2012, 22:30
Entschuldigung.Ich bin der "PENNER"

Ich seh den Wald vor Bäumen nicht mehr...

Hatte nicht alles in den Code geändert.

ES FUNKTIONIERT EINWANDFREI!!!! DANKE
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#12

AW: Buchstaben als Zahl geht-aber Zahl zu Buchstabe geht nicht

  Alt 5. Feb 2012, 13:44
Gebe ich aber die 10 ein ist Schluss mit Lustig.

Siehe Anhang >>>Fehlermeldung

Es kommt eine Meldung:
[DCC Fehler] Unit1.pas(46): E2010 Inkompatible Typen: 'Char' und 'string'
[DCC Fehler] Project1.dpr(5): F2063 Verwendete Unit 'Unit1.pas' kann nicht compiliert werden


Delphi-Quellcode:
function getNR(c : char): char;
begin
 result := ' '; // Ergebniss initialisieren
 case c of
 '1': result := 'A';
 '2': result := 'B';
 '3': result := 'C';
 '4': result := 'D';
 '5': result := 'E';
 '6': result := 'F';
 '7': result := 'G';
 '8': result := 'H';
 '9': result := 'I';
 '10': result := 'J';

    end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var i : INTEGER;
begin
 Label1.Caption := '';
  for i := 1 to length(Edit1.text) do
  begin
    Label1.Caption := Label1.Caption + getNR(Edit1.Text[i])+' ';
    Edit2.Text := Label1.Caption ;
  end;
end;



procedure TForm1.Edit1Change(Sender: TObject);
begin
 edit1.text := uppercase(edit1.text);
 edit1.SelStart := Length(edit1.text);
end;

end.
Miniaturansicht angehängter Grafiken
fehler.jpg  
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Romiox

Registriert seit: 14. Okt 2010
Ort: Ruhrpott
57 Beiträge
 
#13

AW: Buchstaben als Zahl geht-aber Zahl zu Buchstabe geht nicht

  Alt 5. Feb 2012, 14:07
Weil die 10 sich zusammensetzt aus 1 und 0, das erkennst du aber nicht.
Du schaust dir jedes Zeichen einzeln an, und dann kommt er genau bis
1 2 3 4 5 6 7 8 9 1 <--- Alle Bekannt. Dann kommt: 0. Für 0 gibt getNR()
aber nix zurück. Schlimmer noch, getNR gibt nicht '' zurück, sondern
schickt einfach einen Fehler, dass mit der Eingabe nix angefangen werden
kann.


Eine Möglichkeit wäre, den String immer in Pärchen auszulesen, und
dann 01 02 03 etc zu nutzen.
Delphi-Quellcode:
for i := 1 to (length(Edit1.text)-1) do
  begin
    Label1.Caption := Label1.Caption + getNR(Edit1.Text[i]+Edit1.Text[i+1])+' ';
    Edit2.Text := Label1.Caption ;
  end;
Janis F.
  Mit Zitat antworten Zitat
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#14

AW: Buchstaben als Zahl geht-aber Zahl zu Buchstabe geht nicht

  Alt 5. Feb 2012, 14:24
Nee ich wollte jeder Zahl einen einzelnen Buchstaben zuweisen.
Mehr nicht.Aber ab hier '10': result:= 'J'; kommt dann die Meldung:

[DCC Fehler] Unit1.pas(46): E2010 Inkompatible Typen: 'Char' und 'string'

Bin kein Profi...



'1': result := 'A';
'2': result := 'B';
'3': result := 'C';
'4': result := 'D';
'5': result := 'E';
'6': result := 'F';
'7': result := 'G';
'8': result := 'H';
'9': result := 'I';
'10': result:= 'J';

Hier ist nochmal der gesamte Code:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,DateUtils,Clipbrd,StrUtils;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    Edit3: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function getNR(c : char): char;
begin
 result := ' '; // Ergebniss initialisieren
 case c of
 '1': result := 'A';
 '2': result := 'B';
 '3': result := 'C';
 '4': result := 'D';
 '5': result := 'E';
 '6': result := 'F';
 '7': result := 'G';
 '8': result := 'H';
 '9': result := 'I';
 
    end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var i : INTEGER;
begin
 Label1.Caption := '';
  for i := 1 to length(Edit1.text) do
  begin
    Label1.Caption := Label1.Caption + getNR(Edit1.Text[i])+' ';
    Edit2.Text := Label1.Caption ;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Edit2.SelectAll;
Edit2.CopyToClipboard;
Edit3.PasteFromClipboard;
Clipboard.Clear;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
 edit1.text := uppercase(edit1.text);
 edit1.SelStart := Length(edit1.text);
end;

end.
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.459 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Buchstaben als Zahl geht-aber Zahl zu Buchstabe geht nicht

  Alt 5. Feb 2012, 14:49
Ein Char = ein einzelnes Zeichen, "10" sind aber nunmal 2 Zeichen, deshalb die völlig korrekte Meldung.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#16

AW: Buchstaben als Zahl geht-aber Zahl zu Buchstabe geht nicht

  Alt 5. Feb 2012, 17:28
Und was kann ich da machen, das man es funktionsfähig bekommt?

Hab "Widechar" genommen,geht auch nicht.

Habe im "Delphi" 7 Buch nachgelesen, aber nix gefunden.

Bitte kann jemand helfen?

Ich komme absolut nicht weiter...
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.459 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Buchstaben als Zahl geht-aber Zahl zu Buchstabe geht nicht

  Alt 5. Feb 2012, 17:43
Ich weiß zwar immer noch nicht so genau, was Du vorhast, aber evtl. klappt es so:
Delphi-Quellcode:
function getNR(const ZahlStr: string): char;
var
  Zahl: integer;
begin
  Result := ' ';
  if TryStrToInt(ZahlStr, Zahl) then
    case Zahl of
      1: result := 'A';
      2: result := 'B';
      3: result := 'C';
      4: result := 'D';
      5: result := 'E';
      6: result := 'F';
      7: result := 'G';
      8: result := 'H';
      9: result := 'I';
    end
  else
    //Fehlermeldung ausgeben oder etwas in der Art
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#18

AW: Buchstaben als Zahl geht-aber Zahl zu Buchstabe geht nicht

  Alt 5. Feb 2012, 19:54
Hi, suchst du möglicherweise nicht nach den Funktionen ord() und chr() ?
Coffeecoder
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#19

AW: Buchstaben als Zahl geht-aber Zahl zu Buchstabe geht nicht

  Alt 5. Feb 2012, 20:00
Mit dem Vorschlag von DeddyH dürfte auch die 10 funktionieren
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
IceBube

Registriert seit: 9. Jul 2008
164 Beiträge
 
#20

AW: Buchstaben als Zahl geht-aber Zahl zu Buchstabe geht nicht

  Alt 6. Feb 2012, 10:11
Also wenn ich das richtig verstanden hab, geht das auch einfacher, mit weniger Zeilen

Delphi-Quellcode:
function ZahlToNr(Str: Char) : Integer;
var
 abc : String;
begin
 //Buchstabe in Zahl
 abc := 'abcdefghijklmnopqrstuvwxyz';
 Result := Pos(LowerCase(Str), abc);
end;

function NrToZahl(StrZ:Integer) : String;
var
 abc : String;
begin
 //Zahl in Buchstabe
 abc := 'abcdefghijklmnopqrstuvwxyz';
 Result := abc[StrZ];
end;

lg
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf