نماینده دوآتشه حامی طرح صیانت در توئیتی منتقدان و مخالفان این طرح را گرگهای مجازی و سگهای قلاده بلند خطاب کرد.
مطلب زیر برای دوستانی ارائه شد که داکیومنت مورد نظر را طلب کرده بودند مبنی بر بازیابی اطلاعات فیلدها در رکوردهای انتخاب شده
The SelHeight property returns a Long Integer value between 0 and the number of records in the datasheet or continuous form. The setting of this property specifies or returns the number of selected rows in the selection rectangle or the number of selected records in the continuous form.
طبق فرمایشات بالا این ویژگی مقدار Long integerc بین صفر و تعداد رکوردها در دیتا شیت یا فرم کانتینیوس را بر می گرداند یعنی چنانچه شما ردیف هایی را انتخاب کنید تعداد رکوردهای انتخابی را به شما اعلام می نماید ( Zero-base است و عدد صحیح )
برای بازیابی اطلاعات چه خواندن چه ویرایش یا کلا دستکاری یا manipulate می بایست به رکوردست دسترسی پیدا کنید چه از طریق شئ DAO یا ADO که سریعتر است . و از Move برای رفتن به اولین رکوردانتخابی استفاده بنمائید و سپس لوپ بزنید به همین راحتی .
ایرج میرزا :
بگـــــــو آن عـــــــارف عـــــــامی نمـــــــا را | کـــه گـــم کـــردی تـــو ســـوراخ دعـــا را |
نماینده دوآتشه حامی طرح صیانت در توئیتی منتقدان و مخالفان این طرح را گرگهای مجازی و سگهای قلاده بلند خطاب کرد.
مروری بر نحوه ساخت بارکد خطی 128
طراحی بارکد خطی نسبت به Qr Code آسانتر است و کسانیکه داکیونت مربوطه را مطالعه بنمایند می توانند در Report و با تابع line اقدام به کشیدن خطوط با وزن مشخص بنمایند که دستگاه اسکنر بارکد قادر به شناسایی آن باشد برای ساخت Qr Code نظر خاصی ندارم کسانیکه به Matrix مسلط هستند فقط می توانند نسبت به ساخت طبق داکیومنت اقدام بنمایند ولی در اینجا Code 128 فقط بیان می شود.هر چقدر خطوط پررنگتر و از وزن قابل قبولی برخوردار باشد سریعتر خوانده میشود خطوط کمرنگ اسکنر را به اشتباه می اندازد پس زمان چاپ باید به این نکته دقت بنمائید. ( کمرنگی خطوط یا وزن غیر استاندارد مساویست با نتیجه اشتباه و دور از انتظار !!! )
بارکد خطی 128 هفت بخش دارد :
منطقه آرام یا Quiet Zone که سفید است
علامت شروع
داده کد شده
علامت چک و بررسی
علامت پایان
میله نهایی یا Final Bar
منطقه آرام ... سفید است
Check Symbol ازمانده جمع وزنی تمام سمبل ها به 103 بدست می آید
چنانچه به مطالب زیر یا مطالعه داکیونت آن در لینک یاد شده مسلط شوید با مداد می توانید بارکد خودتان را در برگه با زمینه سفید ترسیم کرده اسکنر را روی آن قرار داده و لذت ببرید !!!
شروع کار :
کد 128 شامل 108 علامت است : 103 علامت داده ، 3 علامت شروع و 2 علامت پایان . هر علامت حاوی سه میله سیاه و سه فضای سفید با عرض های گوناگون می باشد. هر بار و فضای خالی یک تا چهار ماژول پهنا دارد، و علامت ها عرض های غیر قابل تغییر دارند : جمع عرض های سه میله سیاه و سفید 11 ماژول است.
داده کد شده ، شروع / پایان :
هر علامت در بارکد شامل سه میله و سه فضای خالی است . هر میله یا فضا 1 تا 4 واحد پهنا دارد ، جمع عرض های میله ها باید زوج باشند ( 4 ، 6 یا 8 واحد ) ، جمع عرض فضاها باید فرد باشند ( 3 ، 5 یا 7 واحد ) و جمع کل 11 واحد برای هر علامت است ، برای مثال کد کردن کاراکتر اسکی 0 می تواند بعنوان 10011101100 دیده شود ( view ) ( در جدول لینک مربوطه کد صفر و یکی برای هر کاراکتر داده شده ) ... عدد 1 یک میله است و 0 یک فضا ، عدد یک اگر تک باشد نازکترین میله ( از نظر عرض ) در بارکد است . سه تا یک پشت سرهم نشان می دهد که میله سه برابر ضخیم تر از عدد یک تکی است.
بارکد خطی کد 128 سه مدل دارد A تا C که C حروف هم بزرگ و هم کوچک انگلیسی را هم شامل می شود برای مثال زیر در جدول لینک بالا از مدل یا ایندکس A برای محاسبه Check Sum استفاده شده.
در محاسبه Check Sum کد شروع دارد که عدد 103 در نظر گرفته شده و بعد موقعیت هر کاراکتر در رشته PJJ123C در عدد دسیمال کاراکتر ضرب شده فرضا موقعیت کاراکتر C در رشته PJJ123C هفت است یا هفتمین کاراکتر در نتیجه عدد 7 در دسیمال کاراکتر ( 35 ) ضرب شده و عدد 245=35×7 بدست آمده. ( در جداول ببینید کد هگزا و دسیمال هر کاراکتر داده شده می توانید جدول را به جداول اکسس اضافه کنید و با Dlookup دسیمال هر کدام را بگیرید و در پوزیشن یا موقعیت کاراکتر در رشته ضرب کنید ... در آخر 103 باضافه اعداد بدست آمده باهم جمع می شوند و بر 103 تقسیم خواهند شد عدد باقیمانده میشود Check Sum که در ستون دسیمال عدد مورد نظر ملاحظه می شود در دو ستون آخر این عدد کد ( صفر و یک ) و ضخامت هر میله چه یک که سیاه است و چه 0 که فًای خالی یا سفید است مشخص شده ( در بالا گفته شد 3 تا عدد 1 پشت سرهم در باینری کاراکتر یعنی نسبت به عدد 1 تکی سه برابر ضخامتش بیشتر است )
C : Hex=23
2×16^1+3×16^0=2×16+3×1=32+3=35(Decimal)
البته در اکسس تابع Decimal احتمال زیاد وجود دارد نیازی به محاسبات توسط شما نیست !!!
حروف a تا f در هگزا معرف اعداد 10 تا 15 است
Hex ( 3f ) =3×16^(1)+15×16^(0)=63 ( Dec )
اگر بخواهید تک تک کاراکترها را در نظر بگیرید طول بارکدتون زیاد میشه ، در نتیجه اگر رشته مورد نظرتون فقط عددی باشد می توانید دو تا دوتا در نظر بگیرید و اگر تک افتاد همان عدد جداگانه در نظر گرفته شود فرضا
27895023457824045
27 89 50 23 45 78 24 04 5
و از FNCx استفاده می شود که طول بارکد کمتر از زمانی شود که کاراکتر ها بصورت تکی در نظر گرفته می شود ترکیبی از عدد و حرف در این بارکد خطی قوانین مخصوص به خود را دارد که باید مطالعه شود
شرح تصویر بالا ، بارکد خطی Wikipedia : ( کد B شامل حروف کوچک و بزرگ )
1-Quiet Zone : Min 10x Wide
2-Start B (104 ) 211214
3-Encode Data
4- Calc Check Sum :
1×104+1×55+2×73+3×75+4×73+5×80+6×69+7×68+8×73+9×65=3281
مانده تقسیم 3281/103 می شود 88
88 in table : 421211
5-Stop Pattern : 2331112
6-Quiet Zone
برای تعیین ضخامت پهنای میله های سیاه و سفید ( اولین میله توپُر یا Bar در هر مرحله سیاه است و یک درمیان سفید ) به جدول مراجعه شد برای فقط اعداد از Code C استفاده شود ... چنانچه رشته شامل اعداد و حروف باشد حتما حروف در اول یا وسط یا آخر در نظر گرفته شود تا طبق FNC1 رویه یکسانی تولید شود اگر حروف پراکنده باشد چندین تابع برای تولید یک بارکد باید استفاده کنید.
سن 43 سالگی :
کلید خوردن عملیات پرچم دروغین توسط زِلنسکی :
عملیات پرچم دروغین (به انگلیسی: False flag operations) به عملیاتهایی گفته میشود که توسط نهادهای نظامی، شبه نظامی، اطلاعاتی یا سیاسی به گونهای انجام میشود که این تصور به وجود آید که گروهها یا کشورهای دیگری این عملیاتها را انجام دادهاند.[۱] برای مثال استفاده نیروهای یک طرف درگیر در جنگ از پرچم و لباس نظامی طرف مقابل برای حمله و قتل عام ساکنین یک روستا و سپس متهم کردن آن طرف به انجام این کشتار نمونهای از عملیات پرچم دروغین محسوب میشود. هدف از انجام عملیات پرچم دروغین مخفی نگه داشتن هویت مرتکبین اصلی یا بدنام کردن طرف مقابل و ایجاد بهانهای برای حمله به او است.
سریال «نرگس» به تهیه کنندگی مهران مهام در سال ۱۳۸۵ پخش شد،نقش اصلی این سریال را پوپک گلدره بازی میکرد که در اواسط بازی، بر اثر تصادف با اتومبیل به کما رفته و پس از ۸ ماه درگذشت. نقش او را ستاره اسکندری ادامه داد.
«بی همگان» اخرین هنرنمایی زهره فکور را ثبت خواهد کرد.
ابعاد باتن ها در کپشن با تابع
Type CaptionButton
uCmd As Long ' command to send when clicked(WM_COMMAND)
nRightBorder As Integer ' Pixels between this button and buttons to the right
hBmp As HBITMAP ' Bitmap to display
fPressed As Boolean ' Is the button pressed in or out?
End Type
Type CustomCaption
buttons(MAX_TITLE_BUTTONS) As CaptionButton
nNumButtons As Integer
fMouseDown As Boolean
wpOldProc As LongPtr
iActiveButton As Integer
End Type
WM_NCPAINT :
Dim hrgn As LongPtr,temprgn As LongPtr
Dim rc As RECT
GetWindowRect hWnd,rc
If wParam=1 Then
hrgn=CreateRectRgnIndirect(rc)
Else
hrgn=wParam
End if
For i=1 To ctp.nNumButtons
'A value of TRUE
results in window-relative coordintes (from the top-left of the window). A value of FALSE
results in screen coordinates.
Dim hDc As LongPtr
hDc=GetWindowDc(hWnd)
For i=1 To ctp.nNumButtons
GetButtonRect ctp,hWnd,i,rc,True
if ctp.buttons(i).fPressed Then
DrawFrameControl hdc,rcbtn,DFC_BUTTON,DFCS_BUTTONPUSH+DFCS_PUSHED
Else
DrawFramControl hdc,rcbtn,DFC_BUTTON,DFCS_BUTTONPUSH
End If
Next
ReleaseDc hDc
if wParam=1 Then DeleteObject hrgn
WM_SETTEXT , WM_NCACTIVATE :
dwStyle=GetWindowLongPtr(hWnd,GWL_STYLE)
SetWindowLongPtr hWnd,GWL_STYLE,dwStyle And WS_VISIBLE
ret=CallWindowProc( ctp.wpOldProc,hWnd,Msg,wParam,lParam)
SetWindowLongPtr hWnd,GWL_STYLE,dwStyle
Caption_NcPaint(hWnd,(HRGN) 1)
WM_NCLBUTTONDOWN :
Dim i As Integer
Dim rc As RECT
Dim pt AS POINTAPI
'Mouse Coordinate
pt.x=Loword lParam
pt.y=Hiword lParam
For i=1 To ctp.nNumButtons
' Get Screen Coordinate of each button
GetButtonRect ctp,hWnd,i,rc,False
InflateRect rc,0,2
if PtInRect(rc,pt) Then
ctp.iActiveButton=i
ctp.buttons(i).fPressed=True
ctp.fMouseDown=True
SetCapture hWnd
RedrawCaption hWnd
End if
winProc=0
Next
برای بدست آوردن مختصات پنجره ( باتن یا کنترل ویرایش و ... ) همانطور که در مطالب قبل گفته شد به طریق زیر عمل میشود :
Function GetWinRect(hWnd)
Dim rc As RECT
Dim p1 As POINTAPI,p2 As POINTAPI
GetClientRect hWnd,rc
With rc
p1.x=rc.Left : p2.x=rc.Right
p1.y=rc.Top : p2.y=rc.Bottom
ScreenToClient hWnd,p1
ScreenToClient hWnd,p2
.Left=p1.x : .Right=p2.x
.Top=p1.y : .Bottom=p2.y
End With
GetWinRect=rc
End Function
Const SWP_FRAMECHANGED=&H20
Applies new frame styles set using the SetWindowLong function. Sends a WM_NCCALCSIZE message to the window, even if the window's size is not being changed. If this flag is not specified, WM_NCCALCSIZE is sent only when the window's size is being changed.
اعمال سبک یا استایل های قاب و چهارچوب جدید که با استفاده از تابع SetWindowLong تنظیم میشود .ارسال پیام WM_NCCALCSIZE به پنجره حتی اگر سایز پنجره تغییر نکند. اگر این flag مشخص نشود WM_NCCALCSIZE فقط زمانی ارسال می شود که سایز پنجره تغییر داده شود.
پس زمانیکه بخواهید از پیام WM_NCCALCSIZE برای محاسبه طول و عرض یا مختصات پنجره ای استفاده کنید در صورتیکه پنجره سایزش تغییر نمی کند از تابع SetWindowLong و استایل SWP_FRAMECHANGED استفاده می کنید که هگزار دسیمال آن 20 است و دسیمال برابر 14 ( 20 تقسیم بر 16 خارج تقسیم و مانده کنار هم قرار می گیرند اگر مانده بیشتر و خود 10 شد به ترتیب A تا F جایگزین مانده میشود )
Type RECT
Left As Long
Right As Long
Top As Long
Bottom As Long
End Type
Type WINDOWPOS
hwnd As Long 'LongPtr ( 64 bit )
hWndInsertAfter As Long 'LongPtr ( 64 bit )
x As Long ' Left
y As Long ' Top
cx As Long ' Width in pixle
cy As Long ' Height in pixle
flags As Long
End Type
Type NCCALCSIZE_PARAMS
rgrc(3) As RECT
lppos As WINDOWPOS
END TYPE
the first rectangle contains the new coordinates of a window that has been moved or resized, that is, it is the proposed new window coordinates. The second contains the coordinates of the window before it was moved or resized. The third contains the coordinates of the window's client area before the window was moved or resized
در آرایه rgrc : ( حاوی اطلاعات زیر است )
اولین مستطیل حاوی مختصات پنجره جدید است که تغییر سایز یا جابجا شده ( Move ) ... مختصات جدید است
دومین مختصات پنجره قبل از تغییر سایز یا جابجایی است.
سومین حاوی مختصات پنجره ناحیه Client قبل از تغییر سایز یا جابجا شدن است.
در پیام WM_NCCALCSIZE اگر wParam فالز باشد lParam به ساختار RECT اشاره می کند و اگر True باشد به ساختار NCCALCSIZE_PARAMS.
Dim ncc AS NCCALCSIZE_PARAMS
Debug.Print wParam
CopyMemory ncc,lParam,ByVal Len(ncc)
Debug.Print ncc.rgrc(1).Right
CopyMemory lParam,ncc,ByVal Len(ncc)
پیام WM_SETFOCUS :
پس از اینکه فوکوس صفحه کلید را به دست آورد ، این پیام به پنجره ارسال میشود و wParam حاوی هندلی به پنجره ای است که فوکوس کیبورد را از دست داده ( با Tab یا ماوس به کنترل دیگری می روید ) و lParam هم صفر است .
می توانید در این پیام با تابع SetFocus ، فوکِس یا فوکوس را به کنترل مورد نظر برده تا WM_NCCALCSIZE ارسال شود و بتوانید مختصات پنجره مورد نظر را بگیرید.
داکیومنت زیر اضافه کردن فایل bmp به باتن در Toolbar
Type TBADDBITMAP
hInst As Long
nID As Long
End Type
hInst=GetWindowLongPtr(hWnd,GWL_HINSTANCE[-6])
nID="AddressOfFile"
این ساختار با TB_ADDBITMAP استفاده می شود که lParam یک نشانگر به TBADDBITMAP و wParam تعدادتصاویر bmp است منتهی قبل از اینکار باید پیام TB_BUTTONSTRUCTSIZE ارسال شود( wParam سایز ساختار TBBUTTON به بایت است و lParam باید صفر باشد )
Type TBBUTTON
iBitmap As Long
idCommand As Long
fsState As Byte
fsStyle As Byte
dwData As LongPtr
End Type
Declare PtrSafe Function CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any,Source As Any,ByVal Length As Long)
Declare PtrSafe Function ZeroMemory Lib "kernel32" Alias "RtlZeroMemory" (Destination As Any,ByVal Length As Long)
۸ اسفند 1400 : عباس عبدی خطاب به مسئولان سیاست خارجی: رئیس جمهور اوکراین روی حمایت غرب حساب کرد و باخت؛ شما هم روی حمایت چین و روسیه حساب نکنید... البته آقای عبدی روسیه و چین ابرقدرت را با اوکراینی که هر کشوری قدرت حمله و گرفتن آن را دارند ، مقایسه می کند !!!
9 اسفند 1400 :
طبق گزارش تایمز 400 شبه نظامی واگنر در کی یف مستقر شده تا رئیس جمهور و 23 شخصیت دیگر دولتی را ترور کنند.
هدف آنها تلاش برای استقرار دولت دست نشانده در اوکراین با ترور مردان دولتی در اوکراین است.
شبه نظامیان واگنر یا همان ارتش مستاجری واگنر، توسط الیگارش معروف یوگنی پریگوژین، متحد دولت، ملقب به آشپز پوتین اداره میشوند.
[;database;path&name;pwd=].[tbl1]
۶ اسفند 1400 :
عضو شورای مرکزی موتلفه:خانوادههای ولایی باید با لبیک به رهبری و فرزند آوری، دشمن را ناامید کنند
چون روسیه به خوبی از قبل می دانست در صورت موفقیت مذاکرات وین، احیای برجام و لغو تحریم ها ایران می تواند در کمترین زمان به پتانسیل بالایی برای صادرات نفت و گاز به اروپا و دیگر کشورها بدل شود. لذا مسکو عملاً سعی کرد مذاکرات وین را از طرف جمهوری اسلامی ایران به دست بگیرد. در این بین متاسفانه و صد افسوس دولت رئیسی و باقری کنی هم به طور کامل مدیریت مذاکرات را به روس ها سپردند تا عملا فضای مناسبی برای کرملین شکل بگیرد که اهداف و منافع خود را در وین پیش ببرد و نتیجه آن این است که تا امروز برجام و مذاکرات وین به نتیجه نرسید تا این مذاکرات به عنوان یک کارت برنده در اختیار روسیه قرار بگیرد. از دیروز پنج شنبه هم که پوتین جنگ در اوکراین را آغاز کرد یقین بدانید که کرملین نگاه دیگری به مذاکرات وین خواهد داشت.