Pascal - Сложение и умножение целых чисел любой размерности представленных в виде строк

Delphi и программирование на нём

Пришлось поработать с TurboPascal в очередной раз, под DOS. Была острая необходимость преобразовывать 8 байтовое шестнадцатиричное число в десятичное. Разумеется стандартными средствами, обычного DOS-ового Pascal-я такое решить в лоб нельзя. Ну нет в нем переменных способных уместить такой объём!

Для этих целей были написаны пара функций, топорно очень. Но работают. :)

Первая суммирует два десятичных числа представленных в виде строки, вторая умножает два десятичных числа представленных в виде строки.

1. Сложение (На входе 2 числа в виде строк, на выходе сумма этих чисел в виде строки)

function SumStr(in_1:string; in_2:string):string;
    var len_1, col_1,col_2,col_0,col_er,pont_1:integer;
        res_1, col_s:string;

  begin

  while (length(in_1)<>length(in_2)) do
    begin
      if length(in_1)>length(in_2) then
        in_2:='0'+in_2
          else
            in_1:='0'+in_1;
    end;

    res_1:='';

    pont_1:=0;
    for len_1:=length(in_1) downto 1 do
      begin
        val(in_1[len_1],col_1,col_er);
        val(in_2[len_1],col_2,col_er);
        col_0:=col_1+col_2+pont_1;
        pont_1:=col_0 div 10;
        col_0 := col_0 mod 10;
        str(col_0,col_s);
        res_1:=col_s+res_1;
      end;

      if pont_1>0 then
        begin
          str(pont_1,col_s);
          res_1:=col_s+res_1;
        end;

        SumStr:=res_1;

  end;

Читаль далее...

Pascal Turbo Pascal длинные целые числа сложение умножение строки

Маленькие заметки по программированию на Delphi

Delphi и программирование на нём

В этом документе буду собирать различные полезности которые встречаются в работе с этим языком программирования и IDE.

Заметка №1
Ширина и высота строки в пикселях.

var W,H: integer;

//Ширина
W := Canvas.TextWidth('Ширина строки');
ShowMessage('Ширина:'+IntToStr(W));

//Высота
H := Canvas.TextHeight('Высота строки');
ShowMessage('Ширина:'+IntToStr(H));


Заметка №2
Помещаем RGB цвет в TColor.
Color := RGB(R,G,B);
//Где R,G и B - Переменные типа Byte
//Интенсивность Красного ( R ), Зелёного ( G ) и Синего ( B )

Читаль далее...

Delphi ширина строки в пикселях RGB

Примеры процедур, для минимизации кода при работе с БД в Delphi.

Delphi и программирование на нём

Волею судеб вновь столкнулся с разработкой на Delphi, с тех пор когда занимался этим будучи студентом, прошло много времени и в Delphi особо ничего не изменилось, а вот у меня несколько сменились представления о разработке и о том как правильно должен выглядеть код.

Теперь о том, как я делал давным давно и как (к моему удивлению) многие программисты делают до сих пор.

Ох уж эти базы данных, чего может быть проще, кинул на форму DBGrid, Connection, Query или Table, DataSource, связал всё это хозяйство и работает — Красота!.. Только если этих таблиц много и выборки очень разнообразны (даже в случае когда мы всё вынесем на отдельную формочку) получится жуть в которой очень легко запутаться и это только на форме, в то что творится внутри кода и заглядывать страшно — бардак.

Да и в любом случае, надо вам скажем выполнить один единственный запрос в коде, и поехало собирание Query с кучей строчек кода.

Читаль далее...

Delphi Базы данных разработка программирование

Работа с Postgresql в C#

Не так давно занялся разработкой приложения на C# работающего на базе PostreSQL, появилась информаци (читать далее...)

932  
Разрешаем ввод в TextBox только цифр.

Для того чтобы разрешить ввод в поле TextBox только цифр в C#, самый простой способ воспользоваться (читать далее...)

702  
Работа с MySQL в C#

Надеюсь данная публикация не даст читателям повторить мои ошибки и поможет сделать изначально правил (читать далее...)

682  
Разновидности терминалов Motorola Symbol MC3090

В этой публикации хотелось бы поделиться информацией о разновидностях терминалов сбора данных Symbol (читать далее...)

673  
Работа с XML в Oracle PL/SQL (Часть 1)

В этой публикации я приведу основные способы работы с XML в Oracle, которые сам использую. Здесь буд (читать далее...)

658  
Передача параметров между формами в C#

Часто возникает необходимость передать определённые параметры между формами в одном приложении, напр (читать далее...)

642  
OpenXML - Пример создания Excel файла на C#

В данной публикации приведен пример генерации Excel файла при помощи библиотеки OpenXML. Отличие это (читать далее...)

587  
Курсоры в MSSQL - перебор выборки в цикле.

Команды манипулирования данными SELECT, UPDATE, DELETE работают сразу с группами строк. Эти группы, (читать далее...)

528  
Руководство пользователя для терминала сбора данных SEUIC 7P

Поскольку на просторах Российского интернета информации по китайским терминалам сбора данных Seuic A (читать далее...)

487  
Подключение датчика температуры и влажности DHT11 к Arduino UNO R3

Подключение датчика температуры DHT11 задача довольно простая. Всё, что нам понадобится для подключе (читать далее...)

444