AGB  ·  Datenschutz  ·  Impressum  







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

Pointer & Co

Ein Thema von gibb · begonnen am 3. Mär 2010 · letzter Beitrag vom 16. Mär 2010
 
gibb

Registriert seit: 12. Sep 2007
Ort: Bern
178 Beiträge
 
Delphi 2006 Architect
 
#10

Re: Pointer & Co

  Alt 4. Mär 2010, 12:04
Juhuu erste erfolge stellen sich ein

Folgender Code:

Delphi-Quellcode:
unit Main;

interface

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



type
  { PSFRawMemMap = Record
  public
    Unknown:  Integer; //'unbekanntes Tag
    NumTemps:Integer; //'Anzahl der Temperaturen
    NumFans: Integer; //'Anzahl der Lüfter
    NumVolts: Integer;// 'Anzahl der Spannungen
    Temps: Integer; //'Werte der Temperaturen
    Fans: Integer; //'Drehzahl der Lüfter
    Volts: Integer; //'Werte der Spannungen'
   end;                 }



  TMyRecord = packed record
  public
     Unknown: Integer; //'unbekanntes Tag
     NumTemps:Integer; //'Anzahl der Temperaturen
     NumFans: Integer; //'Anzahl der Lüfter
     NumVolts: Integer;// 'Anzahl der Spannungen
     Temps: Integer; //'Werte der Temperaturen
     Fans: Integer; //'Drehzahl der Lüfter
     Volts: Integer; //'Werte der Spannungen'
   end;


  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
  public
    { Public declarations }
  end;

const
  mbuff = 100;

var
  Form1: TForm1;
  buffer : array [0..mbuff] of integer;
  myrecord : tmyrecord absolute buffer;

implementation

{$R *.dfm}


procedure TForm1.Button2Click(Sender: TObject);
var
  hSFMemory: HWND;
  SfAreaPtr: Pointer ;
  MyResultRecord: TMyRecord;
  i: Integer;
  txt: String;
begin
  fillchar(buffer,1000,0);
  hSFMemory := 0;
  SfAreaPtr := nil;
  i := 0;
  try
    hSFMemory := OpenFileMapping(FILE_MAP_READ, False, 'SFSharedMemory_ALM');
    if HSFMemory <> 0 then begin
      SfAreaPtr := MapViewOfFile(hSFMemory, FILE_MAP_READ, 0, 0, 0);
      CopyMemory(Addr(buffer),SfAreaPtr,1000);
      while i < 99 do begin
        Text:= inttostr(buffer[i]);
        memo1.Text := memo1.Text + text+ #13+ #10; // IntToStr(MyResultRecord.Fans);
        inc(i);
      end;
    end;
  finally
    UnmapViewOfFile(SfAreaPtr);
    CloseHandle(hSFMemory);
  end;
end;
end.
Liefert mir das hier zurück
Zitat:
65537
402
198236
3
255590400
183500800
176947200
0
0
0....0
Jetzt blick ich nur noch nicht durch wie ich was mit diesen Zahlen anfangen kann =D Aber immerhin kommen bereits Zahlen.

gruss Sev
  Mit Zitat antworten Zitat
 


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 06:19 Uhr.
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