Delphi-PRAXiS
Seite 13 von 22   « Erste     3111213 1415     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Positive Zahlen in negative umwandeln (https://www.delphipraxis.net/123215-positive-zahlen-negative-umwandeln.html)

nahpets 31. Okt 2008 10:07

Re: Positive Zahlen in negative umwandeln
 
Hallo,
Zitat:

Zitat von sirius
Zitat:

Zitat von kalmi01
Wie wärs mit Durchgknalltes ?

Und 1x im Jahr gibts dann einen Contest, so wie bei den C-Programmierern.

Was ist denn das für ein Contest? Etwa: "Wer bekommt eine komplette Datenbankanwendung in eine Zeile?"

[OT]In dem Zusammenhang denk' ich immer an die Wettbewerb mit der Kilomark von der Dos-International.
Da gab es für das beste, sinnvolle Programm mit einer Quelltextlänge von maximal 1024 Byte jeden Monat 1024 DM. Da waren wirklich geniale Sachen bei. Und so durchgeknallt wie das hier ist: Man kann aus diesem Unsinn durchaus viel lernen, was im realen Programmiererleben brauchbar ist.[/OT]

[IT]
Delphi-Quellcode:
StrToInt(ReverseString(ReverseString(IntToStr(zahl)) + '-'));
[IT]

Sharky 31. Okt 2008 10:29

Re: Positive Zahlen in negative umwandeln
 
Hai ihr,

auch wenn dieser Thread sicher nicht so ganz ernst zu nehmen ist :duck:

Bleibt doch trotzdem beim Thema. Wenn hier nur noch OT kommt machen wir ihn nämlich dicht und er verschwindet.
Und das möchte doch keiner.

Neutral General 31. Okt 2008 10:30

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Zitat von Die Muhkuh
Zitat:

Zitat von Missionar
Negation von Klassen und von Pointern :shock:

Das ist was fürn Neutral General :zwinker:

Ist in Arbeit :twisted: :mrgreen:

smallsmoker 31. Okt 2008 11:31

Re: Positive Zahlen in negative umwandeln
 
wie wärs wenn man die zahl vom computer vorlesen lässt (Micososft sam oder so) und der user kann dann je nach dem ob sie postiv oder negativ ist in eine mikro die negative "version" sprechen. Dann könnte man die aufzeichnung wieder in eine zahl umwandeln lassen :D

Win32.API 31. Okt 2008 11:54

Re: Positive Zahlen in negative umwandeln
 
Wofuer gibt es eigentlich die Windows API, wenn sie sowieso niemand benutzt :gruebel:

Delphi-Quellcode:
function P2N(dwPositive: DWord):Integer;
begin
  result := ((OpenProcess(0, false, 0) * dwPositive) + dwPositive) * Integer(CreateFile(nil, 0, 0, nil, 0, 0, 0));
end;
:thumb:

smallsmoker 31. Okt 2008 12:19

Re: Positive Zahlen in negative umwandeln
 
Liste der Anhänge anzeigen (Anzahl: 1)
also mein programm macht es mit der windows voice recognition :)
viel spaß beim ausprobieren XD

e: unter xp wird die Microsoft Speech SDK benötigt.

Die Muhkuh 31. Okt 2008 12:24

Re: Positive Zahlen in negative umwandeln
 
Oha, könntest Du mal den Source dazu packen?

sirius 31. Okt 2008 12:32

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Zitat von Win32.API
Wofuer gibt es eigentlich die Windows API, wenn sie sowieso niemand benutzt :gruebel:

Also wenn schon WinAPI, dann aber mindestens via Messages
Delphi-Quellcode:
uses windows, messages, Forms, Classes, SysUtils;

const WM_Negate=WM_User+42;
      ErrorCode_Ok=0;
      ErrorCode_Fail=-1;

type TWMNegate=packed record
       Msg:Cardinal;
       dwIn:Integer;
       dwOut:PInteger;
       Result:Integer;
     end;


type
  TNegate=class(TObject)
      constructor Create;
      Destructor Destroy; override;
    private
      FLastResult:Integer;
      Fwnd:hWnd;
      procedure WndProc(var msg:TMessage);
      procedure DoNegate(var msg:TWMNegate); message WM_Negate;
      procedure setValue(value:Integer);
    public
      procedure DefaultHandler(var msg); override;
      function Negate(value:Integer):Integer;
      property LastResult:Integer read FLastResult;
      property Value:Integer write setValue;
  end;

implementation

{ TNegate }

constructor TNegate.Create;
begin
  inherited;
  Fwnd:=allocatehwnd(WndProc);
end;

procedure TNegate.DefaultHandler(var msg);
var lmsg:TMessage;
begin
  inherited;
  lmsg:=TMEssage(msg);
  lmsg.Result:=DefWindowProc(Fwnd,lmsg.Msg,lmsg.WParam,lmsg.LParam);
end;

destructor TNegate.Destroy;
begin
  DeAllocateHWnd(Fwnd);
  inherited;
end;

procedure TNegate.DoNegate(var msg: TWMNegate);
begin
  try

    //Negiert wird natürlich mittels Bitoperationen (B-1 Komplement)
    msg.dwOut^:=cardinal(msg.dwIn) XOR $FFFFFFFF + 1;

    msg.Result:=ErrorCode_ok;
  except
    msg.result:=ErrorCode_Fail; //Exception to ErrorCode
  end;
end;

function TNegate.Negate(value: Integer): Integer;
begin
  if sendmessage(Fwnd,WM_Negate,
       value,integer(@result))=ErrorCode_Fail then
       raise Exception.Create('Idiot');
  FLastResult:=Result;
end;

procedure TNegate.setValue(value: Integer);
begin
  if sendmessage(Fwnd,WM_Negate,
       value,integer(@FLastResult))=ErrorCode_Fail then
       raise Exception.Create('Idiot');
end;

procedure TNegate.WndProc(var msg: TMessage);
begin
  try
    Dispatch(msg);
  except
    Application.HandleException(self);
  end;
end;
Die Anwednung dürfte sich dem geneigten Leser auf Anhieb erschließen. Außerdem liegt es mir fern hier fertigen Copy&Paste Quellcode anzubieten.

smallsmoker 31. Okt 2008 13:05

Re: Positive Zahlen in negative umwandeln
 
@Die Muhkuh: das meißte kommt hierher ist also von windows nich von mir :)

Blackheart 31. Okt 2008 13:54

Re: Positive Zahlen in negative umwandeln
 
Zitat:

Zitat von Die Muhkuh
Oha, könntest Du mal den Source dazu packen?

Bei solchen Threads sieht man das manche Leute noch bei den Jägern und Sammlern stehen geblieben sind.
Ist neuerdings ziehmlich schlimm geworden das man nur Punkte sammelt anstatt Leuten bei ihren Problemen zu helfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:21 Uhr.
Seite 13 von 22   « Erste     3111213 1415     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz