Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2016, 14:16   #11
АлександрDelphi
Форумчанин
 
Аватар для АлександрDelphi
 
Регистрация: 28.02.2016
Сообщений: 115
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Да.
Я заменил cвой вот этот код на твой и выдает ошибки причем везде
какая то не состыковка
Код:
const
Codes64 = 'abcdefghijklmnopqrstuvwxyz./@#$%:";*=-_';
function Encode64(S: string): string;
var
i: Integer;
a: Integer;
x: Integer;
b: Integer;
begin
Result := '0';
a := 0;
b := 0;
for i := 1 to Length(s) do
begin
x := Ord(s[i]);
b := b * 280 + x;
a := a + 9;
while a >= 7 do
begin
a := a - 7;
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 (7 - 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 := 10 to Length(s) do
begin
x := Pos(s[i], codes64) - 1;
if x >= 0 then
begin
b := b * 64 + x;
a := a + 7;
if a >= 8 then
begin
a := a - 8;
x := b shr a;
b := b mod (1 shl a);
x := x mod 125;
Result := Result + chr(x);
end;
end
else
Exit;
end;
end;
Код:
unit Soap.EncdDecd;

interface

uses System.Classes, System.SysUtils;

procedure EncodeStream(Input, Output: TStream); inline; // deprecated 'Use TNetEncoding.Base64.Encode';
procedure DecodeStream(Input, Output: TStream); inline; // deprecated 'Use TNetEncoding.Base64.Decode';
function  EncodeString(const Input: string): string; inline; // deprecated 'Use TNetEncoding.Base64.Encode';
function  DecodeString(const Input: string): string; inline; // deprecated 'Use TNetEncoding.Base64.Decode';

{$IFDEF NEXTGEN}
function  DecodeBase64(const Input: string): TBytes; inline; // deprecated 'Use TNetEncoding.Base64.DecodeStringToBytes';
function  EncodeBase64(const Input: Pointer; Size: Integer): string; inline; // deprecated 'Use TNetEncoding.Base64.EncodeBytesToString';
{$ELSE !NEXTGEN}
function  DecodeBase64(const Input: AnsiString): TBytes; inline; // deprecated 'Use TNetEncoding.Base64.DecodeStringToBytes';
function  EncodeBase64(const Input: Pointer; Size: Integer): AnsiString; inline; // deprecated 'Use TNetEncoding.Base64.EncodeBytesToString';
{$ENDIF NEXTGEN}
// тут выдает ошибки

implementation

uses System.NetEncoding;

procedure EncodeStream(Input, Output: TStream);
begin
  TNetEncoding.Base64.Encode(Input, Output);
end;

procedure DecodeStream(Input, Output: TStream);
begin
  TNetEncoding.Base64.Decode(Input, Output);
end;

function EncodeString(const Input: string): string;
begin
  Result := TNetEncoding.Base64.Encode(Input);
end;

function DecodeString(const Input: string): string;
begin
  Result := TNetEncoding.Base64.Decode(Input);
end;

{$IFDEF NEXTGEN}
function DecodeBase64(const Input: string): TBytes;
begin
  Result := TNetEncoding.Base64.DecodeStringToBytes(Input);
end;

function EncodeBase64(const Input: Pointer; Size: Integer): string;
begin
 Result := TNetEncoding.Base64.EncodeBytesToString(Input, Size);
end;
{$ELSE !NEXTGEN}
function DecodeBase64(const Input: AnsiString): TBytes;
begin
  Result := TNetEncoding.Base64.DecodeStringToBytes(string(Input));
end;

function EncodeBase64(const Input: Pointer; Size: Integer): AnsiString;
begin
  Result := AnsiString(TNetEncoding.Base64.EncodeBytesToString(Input, Size));
end;
{$ENDIF NEXTGEN}

end.

Последний раз редактировалось АлександрDelphi; 03.03.2016 в 14:22.
АлександрDelphi вне форума Ответить с цитированием
Старый 03.03.2016, 14:24   #12
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Я заменил cвой вот этот код на твой
зачем?
Цитата:
выдает ошибки причем везде
удивительно!
Цитата:
какая то не состыковка
Так и должно быть. ТЫ же задачу не сформулировал.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 03.03.2016, 14:40   #13
koljsch
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 360
По умолчанию

АлександрDelphi, мне просто интересно, а в чем собственно назначение программы, которую Вы пишете?
koljsch вне форума Ответить с цитированием
Старый 03.03.2016, 14:58   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Как что-то можно писать не имея вообще понятия о делфи. Программу ни кто не пишет, кусочки кода выдергиваются и в одну кучу сваливаюся. Программный монстр франкенштейна получается
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.03.2016, 14:59   #15
АлександрDelphi
Форумчанин
 
Аватар для АлександрDelphi
 
Регистрация: 28.02.2016
Сообщений: 115
По умолчанию

Цитата:
Сообщение от koljsch Посмотреть сообщение
АлександрDelphi, мне просто интересно, а в чем собственно назначение программы, которую Вы пишете?
Как напишу обязательно покажу всем и по благодарю за помощь))
АлександрDelphi вне форума Ответить с цитированием
Старый 03.03.2016, 15:09   #16
koljsch
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 360
По умолчанию

Полностью согласен с многоуважаемым Аватар.
Сомневаюсь, что с таким подходом у Вас что-то получится.
koljsch вне форума Ответить с цитированием
Старый 03.03.2016, 15:12   #17
АлександрDelphi
Форумчанин
 
Аватар для АлександрDelphi
 
Регистрация: 28.02.2016
Сообщений: 115
По умолчанию

Раз не можете помочь с EnCodes64 как сделать что бы ключ выводило не 56 символом на например 15-30 ?
АлександрDelphi вне форума Ответить с цитированием
Старый 03.03.2016, 15:13   #18
koljsch
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 360
По умолчанию

АлександрDelphi, Вам уже помогли.
Для начала возьмите любой учебник по Delphi и прочитайте. Поверьте, пользы будет намного больше, чем тут ждать ответа.
koljsch вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Банальный вопрос про HTML. сделать когда нажимаешь на кнопку не переходило на другую страницу, а оставалось на первой и выводило cheyz1 HTML и CSS 6 21.04.2015 19:19
XNA, как нормально сделать Release? murzilka6002 Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 09.02.2012 12:57
как сделать нормально???(язык программирования делфи) luffi Помощь студентам 5 19.01.2012 16:35
Как сделать чтоб выводило таблицу по кодам товаров с суммой проданного… katlis Microsoft Office Excel 4 24.03.2011 18:21
пграмма совершает аварийное прерывание.как сделать так чтобы она работала нормально? Екатерина3439 Общие вопросы C/C++ 8 24.06.2010 00:27