Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Crystal to Delphi =) 
:(
    Опции темы
uranpro
Дата 28.4.2009, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

Репутация: нет
Всего: 1



Добрый день! есть код на кристале:
Код

stringVar barcode := '';
numberVar cd := 0;
numberVar i := 0;
barcode := ToText({QueryData.PLU}, '0', 0, '');
barcode := ReplicateString('0', 12 - Length(barcode)) + barcode;
while i < 12 do
(
 i := i + 1;
 cd := cd + ToNumber(Mid(barcode, i, 1)) * (2 * Remainder(i + 1, 2) + 1);
);
barcode := ToText({QueryData.PLU} * 10 + (10 - Remainder(Remainder(cd, 10), 10)), '0', 0, '');
//barcode := ToText({T_PLU.ID} * 10 + Remainder(cd, 10), '0', 0, '');
barcode := ReplicateString('0', 13 - Length(barcode)) + barcode;
barcode;


помогите реализовать на Delphi плс


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
uranpro
Дата 28.4.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

Репутация: нет
Всего: 1



примерно так:
Код

function PLUToBarcode(PLU:String):String;
var
  i,cd : integer;
begin
  Result := PLU;
  for i := 0 to 12 - length(plu) do
    Result := '0' + Result;
  for i := 1 to 12 do
    cd := cd+{ToNumber(Mid(Result, i, 1)) как тут ?}*( 2*{Remainder(i + 1, 2)}+1);
  Result:=FloatToStr(inttostr(PLU)*10 + (10 - {Remainder(Remainder(cd, 10), 10))});
  Result:={ReplicateString('0', 13 - Length(Result))} + Result;
end.



--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
uranpro
Дата 28.4.2009, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

Репутация: нет
Всего: 1



такс... не работает немного))) конечный код:
Код

function PLUToBarcode(PLU:String):String;
var
  i,cd: integer;
  Barcode:string;

  function MidStr(Const Str: String; From, Size: Integer): String;
  begin
    MidStr := Copy(Str, From, Size);
  end;

  function ReplicateStr(Ch:char; Qty:integer):string;
  var
    j:integer; s:string;
  begin
    s:='';
    for j := 0 to Qty do
      s := Ch + s;
    ReplicateStr:=s;
  end;

begin
  cd:=0;
  Barcode:= PLU;
  Barcode:=ReplicateStr('0',12 - length(Barcode)) + Barcode;
  for i := 0 to 11 do
    cd := cd+StrToInt(MidStr(Barcode,i,1))*(2 * ((i + 1) mod 2) +1);
  Barcode:=IntToStr(StrToInt(PLU)*10 + (10 - ((cd mod 10) mod 10)));
  Result:=ReplicateStr('0', 13 - Length(Barcode)) + Barcode;
end;


delphi
входит строка "2185070", выходит "0000021850702"
crystal reports 10 syntax
входит строка "2185070", выходит "0000021850707"

помогите. sos - sos smile  


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
uranpro
Дата 29.4.2009, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

Репутация: нет
Всего: 1



up


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
Staruha
Дата 29.4.2009, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 1
Всего: 27



Попробуй переменным которые равны 0 или ' ' присвоить значение Variant


--------------------
Возмездие настигнет
PM MAIL   Вверх
uranpro
Дата 29.4.2009, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

Репутация: нет
Всего: 1



Staruha, это как ? типа cd:=variant ?)
я тоже из казани)))


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.