วันพุธที่ 25 มิถุนายน พ.ศ. 2557

ดักการใส่ข้อมูลตัวเลขทศนิยม

         ผมคิดว่าเพื่อนๆ บางท่านอาจจะเจอปัญหาลักษณะเดียวกันกับผมอยู่ หวังว่าอาจจะช่วยท่านได้ไม่มากก็น้อยครับ

{Property TEdit}
MaxLeangth = 10
{Property TEdit}
กำหนด MaxLeangth  ที่อยู่ใน TEdit  ค่าที่ใส่ให้ใส่ค่าโดยอ้างอิง Data Type ที่อยู่ใน Database +1 เข้าไปนะครับ เช่น DataType เป็น Decimal(9,2) ก็ให้ใส่ เป็น 10 แทน ที่เป็น 10 นั้นก็เพราะเป็นที่ของ . นั้นเองครับ

{Even OnClick}
      if edtAmount.Text = '' then Exit;
  value := Format('%.2f',[StrToFloat(edtAmount.Text)]);
{Even OnClick}
กำหนด Event ให้กับตัว TEdit เพื่อให้เก็บข้อมูลเดิมไว้
{Even OnExit}
    if edtAmount.Text = '' then Exit;
    edtAmount.Text := Format('%.2n',[StrToFloat(edtAmount.Text)]) ;
    if Length(edtAmount.Text) > 10 then begin
      MessageDlg('ท่านระบุจำนวนเกินกว่าที่กำหนดกรุณาลองใหม่อีกครั้งค่ะ', mtInformation, [mbOK], 0);
      edtAmount.Text := value ;
      Exit;
    end;
{Even OnExit}
กำหนด Event ให้ทำงานเมื่อออกจาก TEdit

สำหรับท่านที่ต้องการดักข้อมูล แต่ตัวเลข สามารถดูได้ตามลิงค์นะครับ http://programmoremore.blogspot.com/2013/10/function-delphi.html 

วันศุกร์ที่ 6 มิถุนายน พ.ศ. 2557

โปรแกรม TGS v.1.0.0.0

โปรแกรม TGS v.1.0.0.0 
ดาวน์โหลด TADOQueryGenerateStatement [TGS] v1.0.0.0
โปรแกรมตัวนี้สร้างขึ้นเพื่อสนองความขี้เกียจเขียน Code ของกระผมเองครับ ซึ่งผมมองว่าเวลาที่เราต้องการเขียนให้ TADOQuery มันทำงานตาม Query ของเราเนี้ยต้องมานั้งเขียนคำสั่งคลุมการทำงานของ Query แล้วในบางกรณีที่ Query มีความยาวมากแล้วนั้นต้องมานั้งเขียนกันยาวยืด ผมเลยเขียนโปรแกรมตัวนี้ขึ้นมาสนองความขี้เกียจซะเลย เขียนไม่ซ้ำซ้อนมาก การใช้งานก็ง่ายๆมีแค่ 4 ขั้นตอนเท่านั้นคือ
  1. เมื่อเปิดโปรแกรมแล้วให้กำหนดชื่อ TADOQuery ดังรูป
  2. นำ Query มาวาง ดังรูป
  3. กด Generate 
  4. จะได้ Output ในช่อง ดังรูป
เท่านี้ก็สามารถนำ Code ตรงส่วนนี้ไปใช้ต่อได้เลยครับ

สุดท้ายนี้โปรแกรมที่ผมทำไปนี้ผมหวังว่าคงช่วย เป็นประโยชน์ให้กับเพื่อนๆโปรแกรมเมอร์บางท่านได้ไม่มากก็น้อย ยินดีรับคำติ ชม เพื่อเป็นประโยชน์ในการพัฒนาต่อไปครับ :D

ตาราง ASCII ใช้กับ Delphi

Char.
Dec.
hex
Comments
NUL
00
00

SOH
01
01
^A (control A)
STX
02
02
^B
ETX
03
03
^C
EOT
04
04
^D
ENQ
05
05
^E
ACK
06
06
^F Acknowledge
BEL
07
07
^G Bell or tone
BS
08
08
^H Backspace
HT
09
09
^I Horizontal Tab
LF
10
0A
^J Line Feed
VT
11
0B
^K Vertical Tab
FF
12
0C
^L Form Feed
CR
13
0D
^M Carriage Return
SO
14
0E
^N
SI
15
0F
^O
DLE
16
10
^P
DC1
17
11
^Q
DC2
18
12
^R
DC3
19
13
^S
DC4
20
14
^T
NAK
21
15
^U No acknowledge
SYN
22
16
^V
ETB
23
17
^W
CAN
24
18
^X
EM
25
19
^Y
SUB
26
1A
^Z
ESC
27
1B
^[ Escape
FS
28
1C
^\
GS
29
1D
^]
RS
30
1E
^carat
US
31
1F
^_
SP
32
20
Space
!
33
21
exclamation point
"
34
22
double quote
html: "
#
35
23
pound or number sign
$
36
24
dollar sign 4
%
37
25
percent
&
38
26
ampersand
html: &
'
39
27
single quote/apostrophe
(
40
28
open parenthesis
)
41
29
close parenthesis
*
42
2A
asterisk
+
43
2B
plus sign
,
44
2C
comma
-
45
2D
dash/hyphen
.
46
2E
period
/
47
2F
slash
0
48
30
zero
1
49
31
one
2
50
32
two
3
51
33
three
4
52
34
four
5
53
35
five
6
54
36
six
7
55
37
seven
8
56
38
eight
9
57
39
nine
:
58
3A
colon
;
59
3B
semicolon
< 
60
3C
less than
html: &lt;
=
61
3D
equal sign
> 
62
3E
greater than
html: &gt;
?
63
3F
question mark
@
64
40
at symbol
A
65
41

B
66
42

C
67
43

D
68
44

E
69
45

F
70
46

G
71
47

H
72
48

I
73
49

J
74
4A

K
75
4B

L
76
4C

M
77
4D

N
78
4E

O
79
4F

P
80
50

Q
81
51

R
82
52

S
83
53

T
84
54

U
85
55

V
86
56

W
87
57

X
88
58

Y
89
59

Z
90
5A

[
91
5B
left bracket
\
92
5C
backslash
]
93
5D
right bracket
^
94
5E
caret
_
95
5F
underline
`
96
60
grave accent
a
97
61

b
98
62

c
99
63

d
100
64

e
101
65

f
102
66

g
103
67

h
104
68

i
105
69

j
106
6A

k
107
6B

l
108
6C

m
109
6D

n
110
6E

o
111
6F

p
112
70

q
113
71

r
114
72

s
115
73

t
116
74

u
117
75

v
118
76

w
119
77

x
120
78

y
121
79

z
122
7A

{
123
7B
left brace
|
124
7C
vertical line
}
125
7D
right brace
~
126
7E
tilde
DEL
127
7F
deleting backspace
©
169
A9
copyright
html: &copy;
153
99
trademark
html: &153;
(non-standard)
®
174
AE
registered
html: &174;
(non-standard)

na
na
non-breaking space
html: &nbsp;