AGB  ·  Datenschutz  ·  Impressum  







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

Positive Zahlen in negative umwandeln

Ein Thema von Larsi · begonnen am 29. Okt 2008 · letzter Beitrag vom 13. Jun 2009
Thema geschlossen
Seite 7 von 22   « Erste     567 8917     Letzte »    
Benutzerbild von DeddyH
DeddyH

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

Re: Positive Zahlen in negative umwandeln

  Alt 29. Okt 2008, 19:54
Es gibt eben Probleme, die einer genauen Analyse bedürfen
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
 
Dax
(Gast)

n/a Beiträge
 
#62

Re: Positive Zahlen in negative umwandeln

  Alt 29. Okt 2008, 20:09
Eine Zahl negativ machen, prüfen, ob eine Zahl negativ ist... Alles hochwichtige und -komplexe Probleme
 
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#63

Re: Positive Zahlen in negative umwandeln

  Alt 29. Okt 2008, 20:21
Lange nicht mehr so gelacht,
das ist filmreif!

Könnte als Sketch auf den nächsten Delphi-Tagen aufgeführt werden
Ralph
 
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#64

Re: Positive Zahlen in negative umwandeln

  Alt 29. Okt 2008, 20:28
Zitat:
Könnte als Sketch auf den nächsten Delphi-Tagen aufgeführt werden
oh ja....Titel "Negation for one"

@Larsi:
...wer den Schaden hat braucht für den Spott nicht sorgen.
...trage es uns nicht nach...wir sind nicht ausgelastet 8)
 
Benutzerbild von DeddyH
DeddyH

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

Re: Positive Zahlen in negative umwandeln

  Alt 29. Okt 2008, 20:39
Wir können nichts dafür... diese Stimmen... *huuuu*
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
 
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#66

Re: Positive Zahlen in negative umwandeln

  Alt 29. Okt 2008, 20:40
Zitat von haentschman:
...wer den Schaden hat braucht für den Spott nicht sorgen.
Was heißt da Spott?! Ich finde das eine außerordentliche Demonstration der Kreativität der DPler 8)
 
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#67

Re: Positive Zahlen in negative umwandeln

  Alt 29. Okt 2008, 20:53
Hier ist nochwas mit MultiMedia: funktioniert zwar noch nicht ganz perfekt und es gibt einige Einschränkungen, aber immerhin kommt eine Negative Zahl raus (schwankung: +- 5) - aber immerhin ist sie negativ und Multimedia

Systemvorrausetzungen:
OpenGl 2.0 fähige Grafikkarte mit ShaderSupport

Erstellungsdauer: ca. 10 min

Benötige Units: dglOpenGl;

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dglOpenGL, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    FDC : HDC;
    FRC : THandle;
    FNumber : cardinal;
    FProgram : GLuint;

    FVertex : string;
    FFragment : string;
    procedure DoRender;
  end;

var
  Form1: TForm1;

implementation

const
  SBadPC = 'Dein PC kann keine Zahlen negieren :P';

{$R *.dfm}

function CheckForErrors(glObject: GLHandleARB): String;
 var
  blen, slen: GLInt;
  InfoLog : PGLCharARB;
begin
 glGetObjectParameterivARB(glObject, GL_OBJECT_INFO_LOG_LENGTH_ARB, @blen);
 if blen > 1 then
 begin
  GetMem(InfoLog, blen*SizeOf(GLCharARB));
  glGetInfoLogARB(glObject, blen , slen, InfoLog);
  Result:= PChar(InfoLog);
  Dispose(InfoLog);
 end;
end;


function LoadFragmentandVertexShader(FShaderText: string; VShaderText: string): GLHandleARB;
var
  ProgramObject, FragmentShaderObject, VertexShaderObject: GLHandleARB;
  FShaderLength: Integer;
  VShaderLength: Integer;
begin
 ProgramObject:= glCreateProgramObjectARB;

 FragmentShaderObject:= glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB);
 VertexShaderObject:= glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB);

 FShaderLength:= Length(FShaderText);

 VShaderLength:= Length(VShaderText);

 glShaderSourceARB(VertexShaderObject, 1, @VShaderText, @VShaderLength);
 glShaderSourceARB(FragmentShaderObject, 1, @FShaderText, @FShaderLength);

 glCompileShaderARB(FragmentShaderObject);
 glCompileShaderARB(VertexShaderObject);
 //ShowMessage(CheckForErrors(VertexShaderObject));
 
 glAttachObjectARB(ProgramObject, FragmentShaderObject);
 glAttachObjectARB(ProgramObject, VertexShaderObject);

 
 glDeleteObjectARB(FragmentShaderObject);
 glDeleteObjectARB(VertexShaderObject);
 glLinkProgramARB(ProgramObject);

 Result:= ProgramObject;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FFragment :=
  'void main(void)'+#13#10+
  '{'+#13#10+
  ' vec4 aColor = gl_Color;'+#13#10+
  ' aColor.x = 1.0;'+#13#10+
  ' gl_FragColor = aColor;'+#13#10+
  '}'+#13#10;

  FVertex :=
  'void main(void)'+#13#10+
  '{'+#13#10+
  ' gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;'+#13#10+
  ' gl_FrontColor = gl_Color;'+#13#10+
  '}'+#13#10;



  if not InitOpenGL() then
     raise Exception.Create(SBadPC);

  FDC := GetDC(Handle);
  FRC := CreateRenderingContext(FDC, [opDoubleBuffered], 32, 24, 0, 0, 0, 0);
  ActivateRenderingContext(FDC, FRC);


  if not GL_VERSION_2_0 then
     raise Exception.Create(SBadPC);

  if not GL_ARB_shading_language_100 then
     raise Exception.Create(SBadPC);

  FProgram := LoadFragmentandVertexShader(FFragment, FVertex);
  if FProgram = 0 then
     raise Exception.Create(SBadPC);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  DoRender;
end;

procedure TForm1.DoRender;
var aNumber : integer;
    bBool : boolean;
begin
  glClearColor(0, 0, 0, 0);
  glClear(GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT);

  glMatrixMode(GL_PROJECTION);
  glLoadIdentity;
  glViewPort(0, 0, ClientWidth, ClientHeight);
  gluPerspective(90, ClientWidth/ClientHeight, 1, 128);

  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity;

  glDisable(GL_TEXTURE_2D);
  glDisable(GL_LIGHTING);
  glDisable(GL_CULL_FACE);


  glTranslatef(0, 0, -1);
  //FNumber := (RGB(0, 126, 255) shl 8) or $FF;
  //FNumber := $00ABCDEF;
  Caption := IntToStr(FNumber and $FFFFFF);

  glColor4ubv(@FNumber);

  //Caption := IntToStr(glGetError);
  glUseProgramObjectARB(FProgram);
  //Caption := IntToStr(glGetError);
  //glColor4f(1, 1, 1, 1);
  glBegin(GL_QUADS);
    glVertex3f(-1, 1, 0);
    glVertex3f(-1,-1, 0);
    glVertex3f( 1,-1, 0);
    glVertex3f( 1, 1, 0);

  glEnd();

  aNumber := 0;
  glReadPixels(ClientWidth div 2, ClientHeight div 2, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, @aNumber);

  bBool := aNumber and $FF000000 > 0;
  aNumber := aNumber and $FFFFFF;
  if bBool then
     aNumber := -aNumber;

  Caption := Caption + ' ' + IntToStr(aNumber);

  glGetError;
  SwapBuffers(FDC)
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  FNumber := random($FFFFFF);
end;

end.
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
 
Benutzerbild von DeddyH
DeddyH

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

Re: Positive Zahlen in negative umwandeln

  Alt 29. Okt 2008, 20:59
Da fehlt jetzt nur noch ein CaseModding-Modul und die Sache ist perfekt
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
 
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#69

Re: Positive Zahlen in negative umwandeln

  Alt 29. Okt 2008, 21:03
Ach so: um mal etwas rumzuspielen, hab ich die OGL-Variante mal kompiliert angehängt

die Zahl wird bei jedem Mause-Move geändert.

Danke an Matze für den Hinweis
Angehängte Dateien
Dateityp: exe project1_848.exe (449,5 KB, 88x aufgerufen)
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
 
Benutzerbild von Matze
Matze
(Co-Admin)

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

Re: Positive Zahlen in negative umwandeln

  Alt 29. Okt 2008, 21:14
Lustige Lösungen.

Ich habe eine mit Texterkennung geschrieben. Die handgeschriebene Zahl wird erkannt und mit einem sehr komplexen Algorithmus negiert!

(Ich hoffe, das versteht einer von euch )


Geändert von Matze (16. Jul 2010 um 23:13 Uhr)
 
Thema geschlossen
Seite 7 von 22   « Erste     567 8917     Letzte »    


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 08:50 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