delphi4arab منتديات دلفي للعرب
دالة تميز الرقم من الكلمة - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : دالة تميز الرقم من الكلمة (/showthread.php?tid=3300)



دالة تميز الرقم من الكلمة - cargem - 21-07-2011

هل هناك دالة تميز الارقام في سلسلة نصية


دالة تميز الرقم من الكلمة - أبو معاذ - 21-07-2011

[INDENT]
لا أظن أن هناك دالة بهذا الشكل لكن يمكنك فعل ذلك برمجيا .

كود :
var s: string ; i : Integer ; begin s := 'abgd1gh2jh256m' ; for i := 1 to Length(s) do begin if s[i] in ['0'..'9'] then begin ShowMessage(S[i]+ ' = integer'); end else begin ShowMessage(S[i]+ ' = Not integer'); end; end; end;

بالتوفيق.
[/INDENT]


دالة تميز الرقم من الكلمة - paix144 - 21-07-2011

السلام عليكم
انظر هذا الكود أخي
كود :
implementation type TCharSet = set of Char;
كود :
function StripNonConforming( const S: string; const ValidChars: TCharSet): string; var DestI: Integer; SourceI: Integer; begin SetLength(Result, Length(S)); DestI := 0; for SourceI := 1 to Length(S) do if S[SourceI] in ValidChars then begin Inc(DestI); Result[DestI] := S[SourceI] end; SetLength(Result, DestI) end; function StripNonNumeric( const S: string): string; begin Result := StripNonConforming(S, ['0'..'9']) end;
كود :
procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text:=StripNonNumeric(Label1.Caption); end;
بالتوفيقSmile


دالة تميز الرقم من الكلمة - cargem - 22-07-2011

تشكروا يا اخوان
باجرب وبرد عليكم


دالة تميز الرقم من الكلمة - cargem - 22-07-2011

مثلا لدينا هذا الكود
إقتباس :L000:
LEA EAX,[LOCAL.80]
MOV EDX,DWORD PTR DS:[EDI]
L002:
MOV CL,BYTE PTR DS:[EAX]
CMP CL,BYTE PTR DS:[EDX]
JNZ L018
TEST CL,CL
JE L014
MOV CL,BYTE PTR DS:[EAX+1]
CMP CL,BYTE PTR DS:[EDX+1]
JNZ L018
ADD EAX,2
ADD EDX,2
TEST CL,CL
JNZ L002
L014:
JNZ L018
MOV DWORD PTR DS:[4CD280],ESI
MOV DWORD PTR DS:[4CD178],2
JMP OLLYDBG3.00402C26
L018:
INC ESI
ADD EDI,4
CMP ESI,8
JLE L000

كيف يمكن تميز هذا الرقم 4CD280 من هذا الكود
تميز الحرف قد يختلف عن تميز الرقم
والمشكلة تتصعب عندما تكون الارقام با
hexadecimal
الناتج
إقتباس :000:EAEACA80EDDDD:ED002:CBED:EACCBED:ED018ECCE014CBED:EA1CCBED:ED1018ADDEA2ADDED2ECC002014:018DDD:4CD280EDDD:4CD1782DB300402C26018:CEADDED4CE8E000



دالة تميز الرقم من الكلمة - cargem - 22-07-2011

انظر الى هذا
كود :
const RegisterIns: array [0 .. 69] of string = ('ah', 'al', 'ax', 'bh', 'bl', 'bp', 'bx', 'ch', 'cl', 'cr0', 'cr2', 'cr3', 'cr4', 'cs', 'cx', 'dh', 'di', 'dl', 'dr0', 'dr1', 'dr2', 'dr3', 'dr6', 'dr7', 'ds', 'dx', 'eax', 'ebp', 'ebx', 'ecx', 'edi', 'edx', 'es', 'esi', 'esp', 'fs', 'gs', 'si', 'sp', 'ss', 'st', 'tr3', 'tr4', 'tr5', 'tr6', 'tr7', 'st0', 'st1', 'st2', 'st3', 'st4', 'st5', 'st6', 'st7', 'mm0', 'mm1', 'mm2', 'mm3', 'mm4', 'mm5', 'mm6', 'mm7', 'xmm0', 'xmm1', 'xmm2', 'xmm3', 'xmm4', 'xmm5', 'xmm6', 'xmm7'); MathInstruction: array [0 .. 107] of string = ('f2xm1', 'fabs', 'fadd', 'faddp', 'fbld', 'fbstp', 'fchs', 'fclex', 'fcom', 'fcomp', 'fcompp', 'fdecstp', 'fdisi', 'fdiv', 'fdivp', 'fdivr', 'fdivrp', 'feni', 'ffree', 'fiadd', 'ficom', 'ficomp', 'fidiv', 'fidivr', 'fild', 'fimul', 'fincstp', 'finit', 'fist', 'fistp', 'fisub', 'fisubr', 'fld', 'fld1', 'fldcw', 'fldenv', 'fldenvw', 'fldl2e', 'fldl2t', 'fldlg2', 'fldln2', 'fldpi', 'fldz', 'fmul', 'fmulp', 'fnclex', 'fndisi', 'fneni', 'fninit', 'fnop', 'fnsave', 'fnsavew', 'fnstcw', 'fnstenv', 'fnstenvw', 'fnstsw', 'fpatan', 'fprem', 'fptan', 'frndint', 'frstor', 'frstorw', 'fsave', 'fsavew', 'fscale', 'fsqrt', 'fst', 'fstcw', 'fstenv', 'fstenvw', 'fstp', 'fstsw', 'fsub', 'fsubp', 'fsubr', 'fsubrp', 'ftst', 'fwait', 'fxam', 'fxch', 'fxtract', 'fyl2x', 'fyl2xp1', 'fsetpm', 'fcos', 'fldenvd', 'fnsaved', 'fnstenvd', 'fprem1', 'frstord', 'fsaved', 'fsin', 'fsincos', 'fstenvd', 'fucom', 'fucomp', 'fucompp', 'fcomi', 'fcomip', 'ffreep', 'fcmovb', 'fcmove', 'fcmovbe', 'fcmovu', 'fcmovnb', 'fcmovne', 'fcmovnbe', 'fcmovnu'); const CPUInstruction: array [0 .. 303] of string = ('aaa', 'aad', 'aam', 'aas', 'adc', 'add', 'and', 'call', 'cbw', 'clc', 'cld', 'cli', 'cmc', 'cmp', 'cmps', 'cmpsb', 'cmpsw', 'cwd', 'daa', 'das', 'dec', 'div', 'esc', 'hlt', 'idiv', 'imul', 'in', 'inc', 'int', 'into', 'iret', 'ja', 'jae', 'jb', 'jbe', 'jc', 'jcxz', 'je', 'jg', 'jge', 'jl', 'jle', 'jmp', 'jna', 'jnae', 'jnb', 'jnbe', 'jnc', 'jne', 'jng', 'jnge', 'jnl', 'jnle', 'jno', 'jnp', 'jns', 'jnz', 'jo', 'jp', 'jpe', 'jpo', 'js', 'jz', 'lahf', 'lds', 'lea', 'les', 'lods', 'lodsb', 'lodsw', 'loop', 'loope', 'loopew', 'loopne', 'loopnew', 'loopnz', 'loopnzw', 'loopw', 'loopz', 'loopzw', 'mov', 'movs', 'movsb', 'movsw', 'mul', 'neg', 'nop', 'not', 'or', 'out', 'pop', 'popf', 'push', 'pushf', 'rcl', 'rcr', 'ret', 'retf', 'retn', 'rol', 'ror', 'sahf', 'sal', 'sar', 'sbb', 'scas', 'scasb', 'scasw', 'shl', 'shr', 'stc', 'std', 'sti', 'stos', 'stosb', 'stosw', 'sub', 'test', 'wait', 'xchg', 'xlat', 'xlatb', 'xor', 'bound', 'enter', 'ins', 'insb', 'insw', 'leave', 'outs', 'outsb', 'outsw', 'popa', 'pusha', 'pushw', 'arpl', 'lar', 'lsl', 'sgdt', 'sidt', 'sldt', 'smsw', 'str', 'verr', 'verw', 'clts', 'lgdt', 'lidt', 'lldt', 'lmsw', 'ltr', 'bsf', 'bsr', 'bt', 'btc', 'btr', 'bts', 'cdq', 'cmpsd', 'cwde', 'insd', 'iretd', 'iretdf', 'iretf', 'jecxz', 'lfs', 'lgs', 'lodsd', 'loopd', 'looped', 'loopned', 'loopnzd', 'loopzd', 'lss', 'movsd', 'movsx', 'movzx', 'outsd', 'popad', 'popfd', 'pushad', 'pushd', 'pushfd', 'scasd', 'seta', 'setae', 'setb', 'setbe', 'setc', 'sete', 'setg', 'setge', 'setl', 'setle', 'setna', 'setnae', 'setnb', 'setnbe', 'setnc', 'setne', 'setng', 'setnge', 'setnl', 'setnle', 'setno', 'setnp', 'setns', 'setnz', 'seto', 'setp', 'setpe', 'setpo', 'sets', 'setz', 'shld', 'shrd', 'stosd', 'bswap', 'cmpxchg', 'invd', 'invlpg', 'wbinvd', 'xadd', 'lock', 'rep', 'repe', 'repne', 'repnz', 'repz', 'cflush', 'cpuid', 'emms', 'femms', 'cmovo', 'cmovno', 'cmovb', 'cmovc', 'cmovnae', 'cmovae', 'cmovnb', 'cmovnc', 'cmove', 'cmovz', 'cmovne', 'cmovnz', 'cmovbe', 'cmovna', 'cmova', 'cmovnbe', 'cmovs', 'cmovns', 'cmovp', 'cmovpe', 'cmovnp', 'cmovpo', 'cmovl', 'cmovnge', 'cmovge', 'cmovnl', 'cmovle', 'cmovng', 'cmovg', 'cmovnle', 'cmpxchg486', 'cmpxchg8b', 'loadall', 'loadall286', 'ibts', 'icebp', 'int1', 'int3', 'int01', 'int03', 'iretw', 'popaw', 'popfw', 'pushaw', 'pushfw', 'rdmsr', 'rdpmc', 'rdshr', 'rdtsc', 'rsdc', 'rsldt', 'rsm', 'rsts', 'salc', 'smi', 'smint', 'smintold', 'svdc', 'svldt', 'svts', 'syscall', 'sysenter', 'sysexit', 'sysret', 'ud0', 'ud1', 'ud2', 'umov', 'xbts', 'wrmsr', 'wrshr');



دالة تميز الرقم من الكلمة - paix144 - 22-07-2011

أعد طرح سؤالك في موضوع جديد
و لا تنسى أن تلقي التحية


دالة تميز الرقم من الكلمة - cargem - 22-07-2011

وعليكم السلام
العتب على النظر
كود :
أعد طرح سؤالك في موضوع جديد

لماذا؟
===================


دالة تميز الرقم من الكلمة - paix144 - 22-07-2011

لتنظيم المنتدى و ليسهل البحث في المنتدى