AGB  ·  Datenschutz  ·  Impressum  







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

Objekte Bewegen

Ein Thema von Finki · begonnen am 19. Aug 2013 · letzter Beitrag vom 22. Aug 2013
Antwort Antwort
Seite 3 von 3     123   
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#21

AW: Objekte Bewegen

  Alt 20. Aug 2013, 10:53
Das Problem ist ü ö ä werden als zwei Zeichen gezählt
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#22

AW: Objekte Bewegen

  Alt 20. Aug 2013, 11:13
Das glaub ich nicht. Es sind zwar ggf. 2 Byte, aber immer noch ein Zeichen.
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
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#23

AW: Objekte Bewegen

  Alt 20. Aug 2013, 11:16
hier sind bilder
Miniaturansicht angehängter Grafiken
beweis.png   beweis2.png  
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#24

AW: Objekte Bewegen

  Alt 20. Aug 2013, 11:18
Und womit errechnest Du die Zeichenanzahl?
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
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#25

AW: Objekte Bewegen

  Alt 20. Aug 2013, 11:32
StatusBar.Panels.Items[1].Text := Format('%d Zeichen', [Length(Memo1.Text)-(2*Memo1.Lines.Count)+1]);
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#26

AW: Objekte Bewegen

  Alt 20. Aug 2013, 11:38
So, einfaches Beispielprojekt unter Delphi XE: ein Memo und eine Statusbar, im OnChange des Memos folgender Code
StatusBar1.SimpleText := Format('%d Zeichen', [Length(Memo1.Text)]); Eingabe:
Zitat:
Dies ist ein Testäöü
Anzeige in der Statusbar:
Zitat:
20 Zeichen
Das Einzige, was hier 2 Zeichen produziert, ist der Zeilenumbruch, da dieser unter Windows ja tatsächlich aus 2 Zeichen (#13#10) besteht.
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 DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#27

AW: Objekte Bewegen

  Alt 20. Aug 2013, 17:43
So, unter Lazarus auf Linux Mint ausprobiert: Umlaute werden tatsächlich als 2 Zeichen gezählt, siehe auch dieser Thread. Ich hatte jetzt keine Lust, den komplett zu lesen, aber wenn dort keine Lösung steht, kann ich Dir auch nicht helfen, das ist wohl in Lazarus so gewollt.
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
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#28

AW: Objekte Bewegen

  Alt 21. Aug 2013, 07:18
Gut vielen dank für deine Mühe
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#29

AW: Objekte Bewegen

  Alt 22. Aug 2013, 09:34
Das Problem ist ü ö ä werden als zwei Zeichen gezählt
Lazarus verwendet UTF-8 als Zeichenkodierung und nicht ASCII oder eine der Ansi Kodierungen. Bei UTF-8 haben Sonderzeichen unterschiedliche Längen (ich glaub bis zu 6 Byte maximal). Length() unterstützt dies jedoch nicht (es gibt dir hier nur die Anzahl der Bytes zurück). Lazarus bietet allerdings eine UTF8Length() Funktion in der Unit lazutf8 . Für weitere Informationen lies dir bitte diesen Artikel im Lazarus Wiki durch.

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 09: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