ماذا افعل بالسورس كود عندما يكون فى txt
#1
عند البحث فى الانترنيت اجد عدة سورسات تكون فى txt ملف مثل
كود :
[align=left]const Codes64 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/'; function GeneratePWDSecutityString: string; var i, x: integer; s1, s2: string; begin s1 := Codes64; s2 := ''; for i := 0 to 15 do begin x := Random(Length(s1)); x := Length(s1) - x; s2 := s2 + s1[x]; s1 := Copy(s1, 1,x - 1) + Copy(s1, x + 1,Length(s1)); end; Result := s2; end; function MakeRNDString(Chars: string; Count: Integer): string; var i, x: integer; begin Result := ''; for i := 0 to Count - 1 do begin x := Length(chars) - Random(Length(chars)); Result := Result + chars[x]; chars := Copy(chars, 1,x - 1) + Copy(chars, x + 1,Length(chars)); end; end; function EncodePWDEx(Data, SecurityString: string; MinV: Integer = 0; MaxV: Integer = 5): string; var i, x: integer; s1, s2, ss: string; begin if minV > MaxV then begin i := minv; minv := maxv; maxv := i; end; if MinV < 0 then MinV := 0; if MaxV > 100 then MaxV := 100; Result := ''; if Length(SecurityString) < 16 then Exit; for i := 1 to Length(SecurityString) do begin s1 := Copy(SecurityString, i + 1,Length(securitystring)); if Pos(SecurityString[i], s1) > 0 then Exit; if Pos(SecurityString[i], Codes64) <= 0 then Exit; end; s1 := Codes64; s2 := ''; for i := 1 to Length(SecurityString) do begin x := Pos(SecurityString[i], s1); if x > 0 then s1 := Copy(s1, 1,x - 1) + Copy(s1, x + 1,Length(s1)); end; ss := securitystring; for i := 1 to Length(Data) do begin s2 := s2 + ss[Ord(Data[i]) mod 16 + 1]; ss := Copy(ss, Length(ss), 1) + Copy(ss, 1,Length(ss) - 1); s2 := s2 + ss[Ord(Data[i]) div 16 + 1]; ss := Copy(ss, Length(ss), 1) + Copy(ss, 1,Length(ss) - 1); end; Result := MakeRNDString(s1, Random(MaxV - MinV) + minV + 1); for i := 1 to Length(s2) do Result := Result + s2[i] + MakeRNDString(s1, Random(MaxV - MinV) + minV); end; function DecodePWDEx(Data, SecurityString: string): string; var i, x, x2: integer; s1, s2, ss: string; begin Result := #1; if Length(SecurityString) < 16 then Exit; for i := 1 to Length(SecurityString) do begin s1 := Copy(SecurityString, i + 1,Length(securitystring)); if Pos(SecurityString[i], s1) > 0 then Exit; if Pos(SecurityString[i], Codes64) <= 0 then Exit; end; s1 := Codes64; s2 := ''; ss := securitystring; for i := 1 to Length(Data) do if Pos(Data[i], ss) > 0 then s2 := s2 + Data[i]; Data := s2; s2 := ''; if Length(Data) mod 2 <> 0 then Exit; for i := 0 to Length(Data) div 2 - 1 do begin x := Pos(Data[i * 2 + 1], ss) - 1; if x < 0 then Exit; ss := Copy(ss, Length(ss), 1) + Copy(ss, 1,Length(ss) - 1); x2 := Pos(Data[i * 2 + 2], ss) - 1; if x2 < 0 then Exit; x := x + x2 * 16; s2 := s2 + chr(x); ss := Copy(ss, Length(ss), 1) + Copy(ss, 1,Length(ss) - 1); end; Result := s2; end; [/align]
هذا الكود لعمل باسوورد Encrypt / decrypt passwords
كيف احلل هذا الكود او كيف اطبقه فى الدلفى يعنى ال compile
الرد
#2
يمكن انشاء وحدة جديدة و نكتب الكود اعلاه فى القسم implementation

كود :
unit TestUnit; interface //uses Windows; function GeneratePWDSecutityString: string; function MakeRNDString(Chars: string; Count: Integer): string; function EncodePWDEx(Data, SecurityString: string; MinV: Integer = 0; MaxV: Integer = 5): string; function DecodePWDEx(Data, SecurityString: string): string; implementation . . هنا اكتب الكود الذى وجته فى الانترنت .
ثم نعرف الوحدة فى مشروعنا و ذالك بكتابة اسم الوحدة TestUnit فى قسم Uses التابع لبرنامجك .
------او
كتابة الكود الذى ارفقته فى قسم implementation التابع لبرنامجك مباشرتا و استدعاء الدوال عادى.
الرد
#3
الله يبارك فيك اخى الكريم
تم عمل الكود فى وحدة جديدة و كل شىء تمام لا يوجد اخطاء لكن كيف ارسم البرنامج حتى يعمل مثلا هناك متغيرات i,x,s,s
الرد
#4
كود :
يعنى فى الكود هناك متغيرات i,x,s,s

انت تستعمل دوال الجاهزة للوحدة (Unit) و الدوال هى التى تستعمل تلك المتغيرات و ليس انت ... انت تتعامل مع متغيرات الدوال (parametre) فقط .

تفضل المثال الذى يتعامل مع الوحدة .


الملفات المرفقة
.rar   Nouveau dossier.rar (الحجم : 2.13 ك ب / التحميلات : 18)
الرد
#5
السلام عليكم ورحمة الله
إضافة فقط لما قاله الاخ hanipino
شاهد دروس الدورة أخي،فهذا سيوفيدك بإذن الله تعالى
الرد


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


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