AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ScaleBy() und wieder die originale Größe zurücksetzen ?
Thema durchsuchen
Ansicht
Themen-Optionen

ScaleBy() und wieder die originale Größe zurücksetzen ?

Ein Thema von Delphiturbo · begonnen am 6. Jun 2008 · letzter Beitrag vom 12. Jun 2008
Antwort Antwort
Delphiturbo
(Gast)

n/a Beiträge
 
#1

ScaleBy() und wieder die originale Größe zurücksetzen ?

  Alt 6. Jun 2008, 20:23
Hallo

gibt es eine Möglichkeit die originale Grösse der Form und aller anderen Controlls nach dem ScalBy() wieder zu bekommen ?

Z.B. : ScaleBy(133, 100); // d.h. 133% vergrössern
Wie kann ich nun die Form wieder verkleinen ?

Mathematik ist einfach : ScaleBy(100 / 133, 100);
Das Problem, es wird nur Integer akzeptiert !
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: ScaleBy() und wieder die originale Größe zurücksetzen ?

  Alt 6. Jun 2008, 20:32
Prozentrechnung
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#3

Re: ScaleBy() und wieder die originale Größe zurücksetzen ?

  Alt 6. Jun 2008, 20:41
Das ist nicht das Problem, den wert zu berechnen
ich habe die Form komplett 164% skaliert so:
ScaleBy(164,100); danach wollte ich die Form wieder verkleinern so :
Delphi-Quellcode:
begin
ScaleBy(trunc(100/164),100);
end;
Es wird die Form zwar verkleinert aber deformiert !
Alles durcheinander !
  Mit Zitat antworten Zitat
1234588

Registriert seit: 14. Jan 2007
Ort: Stuttgart
164 Beiträge
 
#4

Re: ScaleBy() und wieder die originale Größe zurücksetzen ?

  Alt 6. Jun 2008, 21:01
waere es auch moeglich, nicht immer gleich nach dem zweiten fehlversuch ein thread aufzumachen?
ich beobachte schon laenger und muss sagen, das du recht schnell aufgibst. zumindest sieht es so aus.

wie waere es denn, wenn du ganz einfach den alten wert speicherst?

//edit

bzw. was gibt denn 100 / 164?
was gibt dann Trunc(100 / 164)?
schau dir mal an, was das fuer zahlen sind :o)
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: ScaleBy() und wieder die originale Größe zurücksetzen ?

  Alt 6. Jun 2008, 21:18
ScaleBy(133, 100), damit bekommst du 133% von den ursprünglichen 100. Was könnte man jetzt wohl machen, um wieder die alten 100 von den 133 zu bekommen?
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#6

Re: ScaleBy() und wieder die originale Größe zurücksetzen ?

  Alt 6. Jun 2008, 21:39
Zitat von Fussball-Robby:
ScaleBy(133, 100), damit bekommst du 133% von den ursprünglichen 100. Was könnte man jetzt wohl machen, um wieder die alten 100 von den 133 zu bekommen?

100x100 / 133
Man bekommt nie genau die alte Größe
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: ScaleBy() und wieder die originale Größe zurücksetzen ?

  Alt 6. Jun 2008, 21:41
Wie wärs einfach mal mit Parameter umdrehen?
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: ScaleBy() und wieder die originale Größe zurücksetzen ?

  Alt 6. Jun 2008, 22:48
Zitat:
Mathematik ist einfach : ScaleBy(100 / 133, 100);
Vielleicht solltest du dann mal den Taschenrechner nehmen und anhand eines Beispiels prüfen ob DU die einfache Mathematik vielleicht doch nicht verstehst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#9

Re: ScaleBy() und wieder die originale Größe zurücksetzen ?

  Alt 7. Jun 2008, 00:01
Zitat von Fussball-Robby:
Wie wärs einfach mal mit Parameter umdrehen?
die Parameter umtauschen, habe ich schon vorher getestet und habe ich gedacht
das es damit nicht geht, da die Form-Breite und die Form-Höhe bleiben groß unverändert.

Also mit Parameter umtauschen ScaleBy(100,133) geht schon. Ich muss nur in OnCreate
die originale Breite und Höhe der Form als Variable speichern, damit ich beim verkleinern diese wieder zuweisen kann

Zitat von SirThornberry:
Zitat:
Mathematik ist einfach : ScaleBy(100 / 133, 100);
Vielleicht solltest du dann mal den Taschenrechner nehmen und anhand eines Beispiels prüfen ob DU die einfache Mathematik vielleicht doch nicht verstehst.
Was ist dann falsch? ScaleBy(100*100 / 133, 100);
oder wenn man was vergesst, nehmst Du es ernst
Das Format habe ich getestet und funktioniert 99,9999999999 %
Aber mit Parameter umtauschen funktioniert 100.0000000000 %
  Mit Zitat antworten Zitat
Alt 7. Jun 2008, 00:59     Erstellt von rotfc
Dieser Beitrag wurde von SirThornberry gelöscht. - Grund: Könntest du dir endlich verkneifen deinen Text in allen Threads zu hinterlassen?!?! Es ist alles andere als tolerierbar das d
Alt 7. Jun 2008, 01:39     Erstellt von Hansa
Dieser Beitrag wurde von Phoenix gelöscht. - Grund: Offtopic
Alt 7. Jun 2008, 02:38     Erstellt von rotfc
Dieser Beitrag wurde von SirThornberry gelöscht. - Grund: Beleidigung und Provokation anderer User
Alt 7. Jun 2008, 03:17     Erstellt von 1234588
Dieser Beitrag wurde von SirThornberry gelöscht. - Grund: geflame
Alt 7. Jun 2008, 03:33     Erstellt von rotfc
Dieser Beitrag wurde von SirThornberry gelöscht. - Grund: geflame
Alt 7. Jun 2008, 09:24     Erstellt von SirThornberry
Dieser Beitrag wurde von gelöscht.
mr_emre_d
(Gast)

n/a Beiträge
 
#10

Re: ScaleBy() und wieder die originale Größe zurücksetzen ?

  Alt 12. Jun 2008, 11:32
warum so kompliziert ???

geht doch einfacher :
Code:
  ...
  scaleby( 75, 100 );
  scaleby( 100, 75 ); //---> Umkehr

tja, Mathe ist nicht leicht
  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 22:02 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