AGB  ·  Datenschutz  ·  Impressum  







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

Prozedur für jeden Buchstaben

Ein Thema von burn · begonnen am 5. Feb 2007 · letzter Beitrag vom 6. Feb 2007
Antwort Antwort
Seite 2 von 2     12   
burn

Registriert seit: 9. Apr 2003
80 Beiträge
 
Delphi 5 Professional
 
#11

Re: Prozedur für jeden Buchstaben

  Alt 6. Feb 2007, 12:46
Hallo René,

tja ich würde ja auch gerne weniger Prozeduren haben, aber wie soll ich das anstellen,
wenn ich jedes Zeichen "malen" will.

Falls du da Ideen hast, immer her damit ...

Steve
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Prozedur für jeden Buchstaben

  Alt 6. Feb 2007, 13:05
Hi burn,

du kannst zum Beispiel die "Malvorschrift" je Zeichen in einem Array speichern und dann in einer Prozedur zum Malen verwenden.
Gruß
Norman
  Mit Zitat antworten Zitat
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#13

Re: Prozedur für jeden Buchstaben

  Alt 6. Feb 2007, 13:19
Kannst du mal eine der Prozeduren posten, welche du zum "malen" benutzt?
  Mit Zitat antworten Zitat
burn

Registriert seit: 9. Apr 2003
80 Beiträge
 
Delphi 5 Professional
 
#14

Re: Prozedur für jeden Buchstaben

  Alt 6. Feb 2007, 13:36
Hallo Smudo ...

in etwa so ... is aber nur ganz grob ..

Delphi-Quellcode:
procedure Letter_1;
begin
  TextMoveTo(0,0);
  TextLineTo(0,7);
end;
wobei in TextMoveto und TextLineTo direkt in eine Stringlist geschrieben wird
und noch diverse Transformationen durchgeführt werden...

Delphi-Quellcode:
procedure TextMoveTo(x,y: Double);
begin
  Transform(x,y); // eigene procedure
  List.Add(FloatToStr(x) + ' ' + FloatToStr(y) + ' m') // String-List
end;
Den Text lass ich dann ungefähr so zeichnen

Delphi-Quellcode:
procedure TextDraw(StartX,StartY,Winkel: Double; Text: String);
var
  i,c : integer
begin
  for i := 1 to length(Text) do
  begin
    c := ord(Text[i]);

    case c of
      49 : Letter_1;
    end;
  end;
end;
Steve
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: Prozedur für jeden Buchstaben

  Alt 6. Feb 2007, 13:45
So würde ich es etwas übersichtlicher finden.

Eine Prozedur zum Textschreiben und eine um die einzelnen Zeichen zu zeichnen.
Delphi-Quellcode:
procedure writeLetter(c:char);
begin
  case c of
    '1' : begin
            TextMoveTo(0,0);
            TextLineTo(0,7);
          end;
    '2' : ....
  end;
end;


procedure TextDraw(StartX,StartY,Winkel: Double; Text: String);
var
  i,c : integer
begin
  for i := 1 to length(Text) do
  begin
    {c := ord(Text[i]);

    case c of
      49 : Letter_1;
    end; }

    writeLetter(Text[i]);
  end;
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#16

Re: Prozedur für jeden Buchstaben

  Alt 6. Feb 2007, 13:56
So wie Klaus das schrieb, meinte ich das auch.
Ist das so nicht machbar?
  Mit Zitat antworten Zitat
burn

Registriert seit: 9. Apr 2003
80 Beiträge
 
Delphi 5 Professional
 
#17

Re: Prozedur für jeden Buchstaben

  Alt 6. Feb 2007, 14:05
Klar ist das auch machbar ...

nur das wird eine riiiiiieeeesige Prozedur ...
(nicht jedes Zeichen ist mit einem Strich gemalt) und das dann alles in einer prozedur ???

Da finde ich persönlich das eine Prozedur pro Zeichen übersichtlicher ist ...

Steve
  Mit Zitat antworten Zitat
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#18

Re: Prozedur für jeden Buchstaben

  Alt 6. Feb 2007, 15:17
Na das werden doch so mindestens 50 oder mehr Procs.
Und wie gesagt, vieles wird man vielleicht optimieren können, sozusagen den kleinsten gemeinsamen Nenner finden.

Ich stell mir das so vor:

Delphi-Quellcode:
  if c in ['0', '2', '3', '5', '6', '7', '8', '9']
    then male_strich_oben;
  if c in ['2', '3', '4', '5', '6', '8', '9']
    then male_strich_mitte;
  if c in ['0', '2', '3', '5', '6', '8', '9']
    then male_strich_unten;
  ...
Das wären bei einer digitalen Darstellung die waagerechten Striche für die Ziffern.
Natürlich ist das nicht besonders übersichtlich. Besser wärs, für jedes Zeichen vorher festzulegen, welche Striche gemalt werden sollen. Aber der Vorschlag kam ja schon mal.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#19

Re: Prozedur für jeden Buchstaben

  Alt 6. Feb 2007, 15:18
Wäre es nicht noch einfacher, eine eigene Schriftart zu erstellen?
  Mit Zitat antworten Zitat
burn

Registriert seit: 9. Apr 2003
80 Beiträge
 
Delphi 5 Professional
 
#20

Re: Prozedur für jeden Buchstaben

  Alt 6. Feb 2007, 17:40
@ smudo
Ja, das würde gehen ist aber wie du selber schon sagst ziehmlich unübersichtlich ...

@ Die MuhKuh
Ich muss die Zeichen selber malen, da die Datei-Formate in die ich ausgeben will, die
Schriftarten nicht so unterstützen wie ich das will ...

Viel Fleißarbeit liegt noch vor mir ( bin erst beim kleinen o ) und das Grund-Problem
ist ja eigentlich gelöst ..

Besten Dank nochmal an alle ...

Steve
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 00:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz