AGB  ·  Datenschutz  ·  Impressum  







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

Bumping Text

Ein Thema von theomega · begonnen am 3. Jan 2003 · letzter Beitrag vom 4. Jan 2003
Antwort Antwort
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#1

Bumping Text

  Alt 3. Jan 2003, 18:01
hy
wo ist der Denkfehler in diesem Code:
Delphi-Quellcode:
procedure maindraw(var dcdbl:HDC;width,heigth:integer);
var Pen: HPEN; // Handle für Zeichenstift
s:pchar;
begin;

  l := l+shift;

  s := 'Dies ist ein Test';
  TextOut(dcdbl,l,20,s,length(s));

  Pen := CreatePen(PS_SOLID, 1, RGB(75,0,255));
  SelectObject(dcdbl, Pen);

  if (shift>width) then shift := shift*(-1);

end;

einmal (am Anfang) wird diese Procedure ausgeführt:
Delphi-Quellcode:
procedure initvars(var dcdbl:HDC;width,heigth:integer);
begin;
l := 10;
shift := 10;
end;
Theoretisch sollte jetzt der Text an den rechten Seite abspringen. Tut er aber nicht. Er "fährt" aus dem Bildschirm raus!

Danke

to
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#2
  Alt 3. Jan 2003, 18:23
Code:
 if (shift>width) then shift := shift*(-1);
Shift nimmt doch nur die Werte 10 und -10 an, du müsstest doch schauen ob l grösser als width ist.
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#3
  Alt 3. Jan 2003, 18:27
Aber so würde er glaube ich immer noch aus dem Bild fahren, da ja l der linke Rand des Textes ist, Du müsstes doch dann, falls es stimmen sollte, was ich schreibe noch die Breite des Textes noch zu l addieren, damit es so aussieht, wie wenn es abprallen würde.

Code:
if (l+Breite>width) then shift := shift*(-1); //Breite wäre die Breite des Textes
Mirilin

vielleicht schreibe ich aber auch nur Bockmist...
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#4
  Alt 3. Jan 2003, 19:25
Ne, viel einfacher und viel blöder: es war die falsche Variable!
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#5
  Alt 4. Jan 2003, 10:51
eben das meinte ich ja, du musstest doch die Variable 'shift' in der If-Abfrage durch die Variable 'l' ersetzen, oder?
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#6
  Alt 4. Jan 2003, 12:47
ja genau!
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:31 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