دالة تميز الرقم من الكلمة
#1
هل هناك دالة تميز الارقام في سلسلة نصية
الرد
#2
[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]
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#3
السلام عليكم
انظر هذا الكود أخي
كود :
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
الرد
#4
تشكروا يا اخوان
باجرب وبرد عليكم
الرد
#5
مثلا لدينا هذا الكود
إقتباس :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
الرد
#6
انظر الى هذا
كود :
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');
الرد
#7
أعد طرح سؤالك في موضوع جديد
و لا تنسى أن تلقي التحية
الرد
#8
وعليكم السلام
العتب على النظر
كود :
أعد طرح سؤالك في موضوع جديد

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


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم