Найдено 62 результата

Putnick
02.01.2014 00:47:17
Форум: Lazarus
Тема: Ошибка xor
Ответы: 15
Просмотры: 12623

Re: Ошибка xor

Был рад помочь! :D
Да, с Новым Годом!!!
Putnick
02.01.2014 00:36:51
Форум: Lazarus
Тема: Ошибка xor
Ответы: 15
Просмотры: 12623

Re: Ошибка xor

А он в старом-то Лазаре компилился? Тип PByteArray вроде как указатель...
Думаю вот так будет работать:

Код: Выделить всё

m^[i]:=(m^[i] xor k)
Putnick
10.09.2013 21:51:35
Форум: Общее
Тема: Как определить свою функцию для SQLite в Lazaruse
Ответы: 2
Просмотры: 8659

Re: Как определить свою функцию для SQLite в Lazaruse

Padre_Mortius писал(а):Putnick, а в какой кодировке у вас хранятся данные в базе?
UTF-8.
Сейчас использую "костыль": считываю все данные без без условий, а потом в цикле выбираю нужные мне. Поскольку пока БД мелкая - оно, вроде, и ничего. С ужасом думаю о будущем :D .
Putnick
10.09.2013 14:48:06
Форум: Общее
Тема: Как определить свою функцию для SQLite в Lazaruse
Ответы: 2
Просмотры: 8659

Как определить свою функцию для SQLite в Lazaruse

Добрый день.
Суть проблемы:
Делаю запрос вида
SELECT * FROM Table WHERE LOWER(field1)=<введенная мною строка, преобразованная к нижнему регистру>
если моя строка на английском - всё отлично: выберется и "Value" и "VAlUE" и т.д.
а вот, если строка на русском - извините: "значение" - да, а вот ...
Putnick
07.01.2013 11:43:10
Форум: Обучение Free Pascal
Тема: Помощь начинающему
Ответы: 123
Просмотры: 181918

Re: Помощь начинающему

Мне кажется, было бы логичнее перебирать символы из более короткой строки, обрезая более длинную и не забывая "выпадать" из цикла при совпадении символов (иначе обрежем строку по последнему совпадению): for j&#58;=1 to m do
for i&#58;=1 to length(a) do
if a&#91;i&#93;=b&#91;j&#93; then begin
d ...
Putnick
24.12.2012 09:18:34
Форум: Книга "Песни о Паскале"
Тема: Помогите с заданиями
Ответы: 31
Просмотры: 48584

Re: Помогите с заданиями

У вас цикл получается такой:

Код: Выделить всё

for i:= 1 to n do begin
   s:= n mod i;
end;

а должен быть

Код: Выделить всё

for i:= 1 to n do begin
   s:= n mod i;
   if s=0 then
     if i<>1 then write(i);
end;

И, кстати, цикл можно гнать не до n, а до квадратного корня из n.
Putnick
19.11.2012 10:13:08
Форум: Обучение Free Pascal
Тема: Открытие файла
Ответы: 5
Просмотры: 12074

Re: Открытие файла

1.
Как уже было тонко замечено, вчитайтесь в текст сообщения об ошибке и таки откройте файл, добавив после строки
assign(fname,'f&#46;txt');
строчку
Reset(fname);
2. импорт Делфи-проектов в Лазарь предусмотрен: Сервис-Преобразовать проект Делфи в проект Лазарус. Правда, после преобразования ...
Putnick
12.10.2012 10:02:11
Форум: Обучение Free Pascal
Тема: Тип Currency. Подскажите, в чём прикол?
Ответы: 13
Просмотры: 23959

Re: Тип Currency. Подскажите, в чём прикол?


А чего забавного то; выхода размапленного массива за пределы выделенной для данных памяти нет;
Если в первом примере ограничитесь массивом из трех элементов, то можете получить ту же картину; хотя, повторюсь, подход принципиально неправильный
Уточняю - даёт корректный результат - 0 1 2
тогда как ...
Putnick
10.10.2012 22:38:14
Форум: Обучение Free Pascal
Тема: Тип Currency. Подскажите, в чём прикол?
Ответы: 13
Просмотры: 23959

Re: Тип Currency. Подскажите, в чём прикол?


Кроме того, при наличии достаточного числа регистров значения могут быть размещены в них, а не в памяти. На платформе x64 уже много регистров, чтобы это считалось справедливым намного чаще, чем для куцей регистровой модели 32-битного x86. Не уверен, правда, что тип Currency размещается в регистрах ...
Putnick
10.10.2012 13:30:04
Форум: Обучение Free Pascal
Тема: Тип Currency. Подскажите, в чём прикол?
Ответы: 13
Просмотры: 23959

Re: Тип Currency. Подскажите, в чём прикол?

Бгг.... Как нравится мне смотреть, как люди сами придумывают себе проблемы.
Ну, вообще-то, как по мне, не самый плохой способ понять как что-то работает. Тем более, что я как раз хотел избежать проблемы - если переменные обрабатываются по одинаковому алгоритму (скажем, проверка правильности ввода ...
Putnick
10.10.2012 09:06:25
Форум: Обучение Free Pascal
Тема: Тип Currency. Подскажите, в чём прикол?
Ответы: 13
Просмотры: 23959

Тип Currency. Подскажите, в чём прикол?

Здравствуйте!
Возникло непонимание. Есть такой код:

program prog1;
type
PRaw=^Traw;
TRaw=array &#91;0&#46;&#46;5&#93; of Currency;
var
a,b,c&#58;Currency;
tmp&#58;PRaw;
i&#58;integer;
begin
tmp&#58;=@a;
for i&#58;=0 to 5 do
tmp^&#91;i&#93;&#58;=i;
WriteLn(a,' ',b,' ',c);
ReadLn
end&#46 ...
Putnick
20.08.2012 14:11:10
Форум: Free Pascal Compiler
Тема: Вопрос про использование массивов
Ответы: 8
Просмотры: 6373

Re: Вопрос про использование массивов

Конечно, судить, не видя исходников, сложно, но... Если Вы обращаетесь к 300000 элементу массива, в котором не должно быть более 64К элементов, то, видимо, Вы в чём-то не правы.
Putnick
03.11.2011 11:43:46
Форум: Обучение Free Pascal
Тема: Приветствую всех
Ответы: 7
Просмотры: 13987

Re: Приветствую всех

это больше на тролля похоже. которому заняться нечем
Ну, в общем, Вы скорее всего правы, но на всякий случай:
1. забиваем в гугл "сортировка пузырьмом";
2. первая ссылка на википедию даёт объяснение алгоритма (вербальное и на псевдокоде);
3. если по какой-либо причине не проникся, идём по третьей ...
Putnick
01.06.2011 12:13:16
Форум: Обучение Free Pascal
Тема: Спасите кто-нибудь от циклов и массивов
Ответы: 46
Просмотры: 48672

Re: Спасите кто-нибудь от циклов и массивов


Нее, это дополнительная переменная, их нельзя использовать!
Тогда я её... Отрэжу!

type
TMySet=set of byte;
var
c, d&#58;TMySet;
begin
Writeln('Task #2');
c&#58;=&#91;1&#46;&#46;3&#93;;
d&#58;=&#91;3&#46;&#46;5&#93;;
c&#58;=c+d-c*d;
d&#58;=(d-c)+(c-d);
c&#58;=(c-d)+(d-c);
end&#46;

и ...
Putnick
01.06.2011 11:44:11
Форум: Обучение Free Pascal
Тема: Спасите кто-нибудь от циклов и массивов
Ответы: 46
Просмотры: 48672

Re: Спасите кто-нибудь от циклов и массивов

Ну, как вариант:
type
TMySet=set of byte;
var
a, b&#58;boolean;
c, d&#58;TMySet;
i&#58;byte;
e, f&#58;string;
begin
Writeln('Task #1');
a&#58;=true;
b&#58;=false;
writeln(a,' ',b);
writeln('Processing&#46;&#46;&#46;');
a&#58;=a xor b;
b&#58;=a xor b;
a&#58;=a xor b;
writeln(a,' ',b ...