function Encode64(S: string): string; var i: Integer; a: Integer; x: Integer; b: Integer; begin Result := ''; a := 0; b := 0; for i := 1 to Length(s) do begin x := Ord(s[i]); b := b * 256 + x; a := a + 8; while a >= 6 do begin a := a - 6; x := b div (1 shl a); b := b mod (1 shl a); Result := Result + Codes64[x + 1]; end; end; if a > 0 then begin x := b shl (6 - a); Result := Result + Codes64[x + 1]; end; end;
function Decode64(S: string): string; var i: Integer; a: Integer; x: Integer; b: Integer; begin Result := ''; a := 0; b := 0; for i := 1 to Length(s) do begin x := Pos(s[i], codes64) - 1; if x >= 0 then begin b := b * 64 + x; a := a + 6; if a >= 8 then begin a := a - 8; x := b shr a; b := b mod (1 shl a); x := x mod 256; Result := Result + chr(x); end; end else Exit; end; end;
Function mFileToStr(Ruta: string): string; var sFile: HFile; uBytes: Cardinal; begin sFile:= _lopen(PChar(Ruta), OF_READ); uBytes:= GetFileSize(sFile, nil); SetLength(Result, uBytes); _lread(sfile, @result[1], uBytes); _lclose(sFile); end;
procedure TForm1.SpeedButton2Click(Sender: TObject); begin if not OpenPictureDialog1.Execute then Exit; Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); memo1.text:=Encode64(mFileToStr(OpenPictureDialog1.FileName)) ; end;
procedure TForm1.Button3Click(Sender: TObject); begin Close ; end;
السلام عليكم ورحمة الله تعالى وبركاته
هذا هو حل المشكل أخي الكريم onexite بارك الله فيك
من خلال هذا الكود نستطيع تخزين ملفاتنا مشفرة في قاعدة المعطيات
أخي الكريم B.M.AbdelAziZ الهدف من تحويل الملف إلى نص هو من أجل تخزينها في ملف xml
والمثال في المرفقات
شكرا مرة أخرى
بقي لي مشكل واحد في تخزين المعلومات في ملف xml وهو ظهور اللغة العربية على شكل رموز غريبة
وهذا يحدث إن نقلت القيم من قاعدة معطيات (mysql) مثل :
AddChild('Nom').Text := MyQueryNom.value ;
أما ان كتبت النص مباشرة مثل
AddChild('Nom').Text := 'محمد';
فإن المشكل لا يظهر
السلام عليكم ورحمة الله تعالى وبركاته
اخي الكريم لقد جربت AsString وAsVariant ولم ينجح الامر
لكن نجح معي حل واحد وان كان مؤقت وهو تحويل إعدادات اللغة والمنطقة في لوحة التحكم إلى العربية حيث تظهر اللغة العربية سليمة في ملف xml
بارك الله في الجمبع