delphi4arab منتديات دلفي للعرب

نسخة كاملة : دالة تميز الرقم من الكلمة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
هل هناك دالة تميز الارقام في سلسلة نصية
[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]
السلام عليكم
انظر هذا الكود أخي
كود :
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
تشكروا يا اخوان
باجرب وبرد عليكم
مثلا لدينا هذا الكود
إقتباس :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
انظر الى هذا
كود :
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');
أعد طرح سؤالك في موضوع جديد
و لا تنسى أن تلقي التحية
وعليكم السلام
العتب على النظر
كود :
أعد طرح سؤالك في موضوع جديد

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