Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
Delphi 2007 Professional
|
Re: Brauch hilfe bei Mathematischer formel
7. Okt 2006, 00:57
ok dann anders
wie kann ich einzelnen strings bestimmte stellen in einen tedit zuweisen
Delphi-Quellcode:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask, StdCtrls;
type
TForm3 = class(TForm)
MemoInfo: TMemo;
Button1: TButton;
EditIMEI: TEdit;
Check: TEdit;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure EditIMEIChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
MemoInfo.lines.add(' Prüfe eingegebene IMEI');
If length(EditIMEI.Text)<14 then begin
MemoInfo.lines.add(' Falsche IMEI eingegeben');
// später dann die eigentliche berechnung (unlockcode) an dieser stelle
end;
end;
//berechnung Checksumme is eigendlich nicht so wichtig aber der effekthascherei wegen(könnte man ja eingeben lassen)
{Beispiel-IMEI: 49 06 49 40 31 41 72
Jede 2. Ziffer verdoppeln (beginnend bei 2.):
9, 6, 9, 0, 1, 1, 2
verdoppelt: 18, 12, 18, 0, 2, 2, 4
Alle einzelnen Ziffern addieren:(1 + + (1 + 2) + (1 + + 0 + 2 + 2 + 4 =
28
Jede 2. Ziffer addieren (beginnend bei 1.):
4 + 0 + 4 + 4 + 3 + 4 + 7 =
27
Beide Ergebnisse addieren:
28 + 27 =
55
Ergebnis modular 10*:
55 mod 10 = 5, Rest =
5
* 10 so oft subtrahieren, wie möglich
Differenz zu 10:
10 - 5 = 5 Ergebnis = 5}
procedure TForm3.EditIMEIChange(Sender: TObject);
var
p : String;
Diff : String;
Sub : string;
Zwei : string;
vier : string;
sechs : string;
acht : string;
zehn : string;
zwölf : string;
vierzehn : string;
begin
zwei = editImei.
p := (sub)-(diff); // nur zum test später dann mit formel
EditIMEI.MaxLength:=14;
If length(EditIMEI.Text)=14 then begin
Check.Text:=(p) // das soll die checksumme werden
end;
end;
end.
Marcel
|
|
Zitat
|