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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2012, 00:23   #1
RinatKzn
Пользователь
 
Регистрация: 01.06.2011
Сообщений: 13
По умолчанию преобразование имени файла (фото) для хранения в базе

тут пришлось использовать сторонние готовые dbf-файлы

так там есть каталог с большим количеством jpg-файлов с именами вида "201103041234.jpg"
а соответствующие записи в базе (поле Строка 7) в виде "$bPk>]B"

я не пойму, что это за преобразование такое,
и как получить из "$bPk>]B" конкретное название "201103041234.jpg"
RinatKzn вне форума Ответить с цитированием
Старый 26.01.2012, 02:00   #2
RinatKzn
Пользователь
 
Регистрация: 01.06.2011
Сообщений: 13
По умолчанию

.................
RinatKzn вне форума Ответить с цитированием
Старый 26.01.2012, 02:00   #3
RinatKzn
Пользователь
 
Регистрация: 01.06.2011
Сообщений: 13
По умолчанию

кое как нашел в ReFоxe, что это 142-ричное преобразование

теперь пока не могу въехать) какая функция и есть ли такая в delphi:

CHRTRAN (Foxpro)

Синтаксис:

CHRTRAN(cSearchedExpression, cSearchExpression, cReplacementExpression)

Параметры:
cSearchedExpression
Задает выражение, в котором функция CHRTRAN( ) будет заменять символы.
cSearchExpression
Задает выражение, содержащее символы, которые CHRTRAN( ) будет искать в выражении cSearchedExpression.
cReplacementExpression
Задает выражение, содержащее символы замены.
Если какой-либо символ из выражения cSearchExpression найден в выражении cSearchedExpression, то этот символ в cSearchedExpression замещается символом из выражения cReplacementExpression, находящимся на той же позиции в cReplacementExpression, что и соответствующий символ в выражении cSearchExpression.
Если в выражении cReplacementExpression меньше символов, чем в cSearchExpression, лишние символы выражения cSearchExpression удаляются из cSearchedExpression. Если в cReplacementExpression больше символов, чем в cSearchExpression, эти лишние символы выражения cReplacementExpression игнорируются.
RinatKzn вне форума Ответить с цитированием
Старый 26.01.2012, 02:34   #4
RinatKzn
Пользователь
 
Регистрация: 01.06.2011
Сообщений: 13
По умолчанию

как переписать в delphi ?


codedfilename = "$b8=R--"
filename = ""
sourcedir = "C:\"

Form1.label1.caption = STR(cton(codedfilename, 142, 34), 14)
filename = STR(cton(codedfilename, 142, 34), 14)
Form1.label2.caption = ADDBS(sourcedir)+ADDBS(LEFT(filenam e, 7))+filename+'.jpg'

FUNCTION cton
PARAMETER string, p, shift
PRIVATE k, nresult
nresult = 0
string = CHRTRAN(string, CHR(33), '')
FOR k = 1 TO LEN(string)
nresult = nresult*p+ASC(SUBSTR(string, k, 1))-shift
ENDFOR
RETURN nresult
ENDFUNC
RinatKzn вне форума Ответить с цитированием
Старый 26.01.2012, 15:38   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Как-то так:
Код:
function Cton(Text: String): Int64;
var i: Integer;
begin
  Result:=0;
  for i:=1 to Length(Text) do
    if Ord(Text[i])<>33 then Result:=Result*142+Ord(Text[i])-34;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption:=IntToStr(Cton('$bPk>]B'));
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.01.2012, 17:54   #6
RinatKzn
Пользователь
 
Регистрация: 01.06.2011
Сообщений: 13
По умолчанию

спасибо) все работает)
RinatKzn вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Технологии хранения истории изменений в базе данных artush1984 Свободное общение 1 01.07.2011 14:22
Ввод имени для создаваемого файла YourLastSong Общие вопросы C/C++ 1 14.12.2010 17:24
Как лучше хранить фото в базе? GenniY Свободное общение 0 19.07.2010 10:35
Проверка имени фото загруженого в image. koshel Мультимедиа в Delphi 4 22.05.2010 19:53
Фото в базе данных Gapro БД в Delphi 3 10.12.2009 15:17