الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

قلب سلسلة رموز

بدأه sky19 في 13 مايو 2012 · 18 رد · 1,503 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ماهي الدالة reverse string delph التي تهكس 4 Bayte

ABCD

TO

CDAB

8849

TO

4988

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 13 مايو 2012 في 12:43

#2
// 1
string chaine = "toto test toto2 test2";
string[] res = chaine.Split(' ');
string result1 = res[res.Length - 1];

// 2
string result2 = chaine.Substring(chaine.LastIndexOf(' '));

// 3
StringBuilder sb = newStringBuilder();
for(int i=chaine.Length - 1; i>0; i--) 
{
   if(chaine == ' ') break;
   sb.Insert(0, chaine);
}
string result3 = sb.ToString();

// 4
string result4 = Regex.Match(chaine, @"\s*(\w+)\s*$").Groups[0].Value;

//5
string[ ] tab = "toto test toto2 test2".Split( ' ' );
Array.Reverse( tab );
#3
function expt(x,y:integer):integer;
  var
  exptx,bouc:integer;
  begin
  case y of
  0:exptx:=1;
  else
  exptx:=x;
  end;
  for bouc:=1 to y-1 do
    begin
    exptx:=exptx*x;
    end;
    expt:=exptx;
  end;



function hextodec(hex:string):integer;
var
valeur,i:integer ;
chiffre:string;
begin
valeur:=0;
for i:=1 to length(hex) do
  begin
  if hex='f'  then
   chiffre:='15'
   else
   chiffre:=hex;
  valeur:=valeur+(strtoint(chiffre)*expt(16,length(h ex)-i));
  end;
hextodec:=valeur;
end;


function dectohex(dec:integer):string;
    var
    nombre:string;
    nombrehex:string;
          begin
           if (dec<10) then
            begin
            nombre:=inttostr(dec);
            dectohex:=nombre;
            exit;
            end;
           while (dec>=16) do
             begin
            case (dec mod 16) of
              10:nombrehex:='a';
              11:nombrehex:='b';
              12:nombrehex:='c';
              13:nombrehex:='d';
              14:nombrehex:='e';
              15:nombrehex:='f';
            else
             nombrehex:=inttostr(dec mod 16);
            end;
             nombre:= nombrehex+nombre;
             dec:=trunc(dec/16);
             end;
              if (dec>=1) and (dec<=15)  then
              begin
               case dec  of
               10:nombrehex:='a';
               11:nombrehex:='b';
               12:nombrehex:='c';
               13:nombrehex:='d';
               14:nombrehex:='e';
               15:nombrehex:='f';
               else
               nombrehex:=inttostr(dec);
               end;
             end;
             nombre:=nombrehex+nombre;
             dectohex:=nombre;
          end;



function bintodec(bin:string):integer;
    var
    bouc,nombre,conver:integer;
          begin
          nombre:=length(bin);
          conver:=0;
          for  bouc:=0 to nombre-1 do
               begin
               conver:=conver+strtoint(copy(bin,(nombre-bouc),1)) *expt(2,bouc);
               end;
           bintodec:=conver;
           end;




function dectobin(dec:integer):string;
    var
    nombre:string;
          begin
           if dec=0  then
            begin
            nombre:='0';
            dectobin:=nombre;
            exit;
            end;
           while (dec<>0)and(dec<>1)  do
             begin
             nombre:=inttostr(dec mod 2)+nombre;
             dec:=trunc(dec/2);
             end;
             if dec=1  then
             nombre:='1'+nombre;
             dectobin:=nombre;
          end;

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#4

هل ممكن سورس كود بي الدلفي 7

#5

السورس الذي ارسلته بالدالفي

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#6

لقد جربت ولم ينجح معي يضهر الدلفي خطا dec&lt Illegal character in input file: '&' ($26) وشكر

#7

الكود الذي أرسلته كان منقولا من إحدى المواقع الأجنبية ولم أجربه وسيكون لي وقت إن شاء الله تعالى لتجربته

ولكن لن أدعك هكذا فإليك هذا الكود البسيط للتحويل

program Project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes,sysutils
  { you can add units after this };

{$R *.res}
var numero_essais:string;
retour:int64;
begin
numero_essais:='0F01E3003A';
retour:=StrToInt64 ('$'+numero_essais);
writeln(retour);
readln;
end.

طبعا هذا الكود مكتوب على لازاريس البيئة المحاكية للدالفي

فإذا أردت تجربته فخذ منه ما تحتاج وإياك والنسخ واللصق

أظن أن لك سابقة بالبرمجة فكن على حذر

تم تعديل هذه المشاركة بواسطة linuxman في 14 مايو 2012 في 01:02

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#8

خي اريد عكس ABCD TO CDAB

#9

والله ظننت أنك تريد الهكس لأنك كتبتها

اقتباس

التي تهكس 4 Bayte

ولم أنتبه إلى reverce

لابأس إليك الدالة

Function InverseStr(sDep : string) : string;
var
sFin : string;
i : integer;
begin
sFin:= '';
for i:= length(sDep) downto 1 do
begin
sFin:= sFin + copy(sDep, i,1);
end;
result:= sFin;
end;

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#10

أنا أسف علي الخطأ في الكتابة المشكة عند كتابة رقم أو حورف يعكس بيات واحد وانا أريد ان أعكس 4 بياتت تمعن في سوركود Byte Flip

http://www.hexworkshop.com/onlinehelp/600/html/idhelp_dataoperations.htm

new.zip

تم تعديل هذه المشاركة بواسطة sky19 في 14 مايو 2012 في 02:30

#11

فهمت قصدك

وإليك الدالة

Function InverseStr(sDep : string) : string;
var
a,b:string;
sFin:string;
i:integer;
begin
  sfin:='';
  for i:=Length(sDep) downto i do
      begin
           if i mod 2 = 1 then Continue;
           a:=sDep;
           b:=sDep[i-1];
           sFin:= sFin +b+a;
      end;
 result:= sFin;
end;

تم تعديل هذه المشاركة بواسطة linuxman في 14 مايو 2012 في 05:15

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#12

أخي هل جربها إنها لم تعمل معي

#13

سلام عليك

هذه الدالة أنا أنشأتها ولذلك فبكل تأكيد لقد جربتها

أرسل إلي الكود كاملا حتى أرى أين الخطأ

تأكد أن السلسلة لا بد أن تكون زوجية

تم تعديل هذه المشاركة بواسطة linuxman في 14 مايو 2012 في 12:17

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#14

و عليكم سلام لقد رفعة السورس كود

new2.rar

#15

سلام عليك

انظر الدالة التي كتبتها أنت

Function InverseStr(sDep : string) : string;
var
sFin : string;
i : integer;
begin
sFin:= '';
for i:= length(sDep) downto 1 do
begin
sFin:= sFin + copy(sDep, i,1);
end;
result:= sFin;
end;

وانظر إلى التي كتبتها أنا

Function InverseStr(sDep : string) : string;
var
a,b:string;
sFin:string;
i:integer;
begin
  sfin:='';
  for i:=Length(sDep) downto i do
      begin
           if i mod 2 = 1 then Continue;
           a:=sDep;
           b:=sDep[i-1];
           sFin:= sFin +b+a;
      end;
 result:= sFin;
end;

قارن بينهما يتبين لك خطؤك

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#16

أخي لو سمحت من فضلك اعملى سورس كود ورفعه

#17

إليك الآن السورس معدلا

قم ب compile

ثم أخبرني

test.zip

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#18

إنه لايعمل

#19

السلام عليكم

تفضل

function RevStr(S: string): string;
var
  x: string;
  i: Integer;
begin
  Result := '';
  for i := 1 to Length(S) do
  begin
    Insert(S, x, 1);
  end;
  Result := x;
end;

مواضيع مشابهة