SSerge,
спасибо, за подсказку.
Но разве можно константу изменять или такое объявление const d: integer = 0 не является константой?
Добавлено спустя 16 минут 41 секунду:
Типизированные константы.
Могут быть изменены, если {$WriteableConst On}
Найдено 13 результатов
- 14.12.2018 13:42:43
- Форум: Lazarus
- Тема: аналог static в lazarus
- Ответы: 9
- Просмотры: 7535
- 13.12.2018 21:32:53
- Форум: Lazarus
- Тема: аналог static в lazarus
- Ответы: 9
- Просмотры: 7535
аналог static в lazarus
Доброго времени суток!
В Си есть переменные класса памяти static, которые инициируются один раз и сохраняют свое значение после выхода из функции. Вопрос: есть аналог в лазарус или использовать глобальные переменные?
В Си есть переменные класса памяти static, которые инициируются один раз и сохраняют свое значение после выхода из функции. Вопрос: есть аналог в лазарус или использовать глобальные переменные?
- 14.04.2017 21:26:01
- Форум: Общее
- Тема: непонятки с Trunc()
- Ответы: 2
- Просмотры: 10804
Re: непонятки с Trunc()
vitaly_l, спасибо!
Я разобрался. Проблема была совсем не в trunc. И условие работает нормально. Индекс массива увеличивался ниже этого кода, а я в процессе отладки это сразу не увидел
. Прицепился к условию и не смог с мертвой точки сдвинуться.
Я разобрался. Проблема была совсем не в trunc. И условие работает нормально. Индекс массива увеличивался ниже этого кода, а я в процессе отладки это сразу не увидел
- 14.04.2017 19:23:01
- Форум: Общее
- Тема: непонятки с Trunc()
- Ответы: 2
- Просмотры: 10804
непонятки с Trunc()
Здравствуйте!
Помогите разобраться с проблемой.
Есть часть кода, где вычисляется индекс динамического массива, а потом осуществляется его проверка. Если индекс больше или равен размерности массива, то ему присваивается последний индекс массива.
jt0:=trunc((latT[0,it]-lat[j,i] ...
Помогите разобраться с проблемой.
Есть часть кода, где вычисляется индекс динамического массива, а потом осуществляется его проверка. Если индекс больше или равен размерности массива, то ему присваивается последний индекс массива.
jt0:=trunc((latT[0,it]-lat[j,i] ...
- 01.09.2016 13:25:21
- Форум: Free Pascal Compiler
- Тема: Решено: Не могу избавится от пробела в строке
- Ответы: 17
- Просмотры: 18504
Re: Не могу избавится от пробела в строке
особо не работал с utf8, поэтому может не в тему скажу. Попробуйте TrimRightSet или TrimSet. С AnsiString правые пробелы и любые символы можно подавить с помощью SetLength(), указав новую длину строки без "правых хвостов".
Не понял, что такое "неудобные символы", но может поэтому trim не работает ...
Не понял, что такое "неудобные символы", но может поэтому trim не работает ...
- 31.08.2016 21:32:16
- Форум: Lazarus
- Тема: подстановка вводимого текста
- Ответы: 5
- Просмотры: 4704
Re: подстановка вводимого текста
Ctrl+J предлагает конструкции. Набираете, например, f (или более конкретно for) и выбираете из списка варианты: for без begin end; или с ним. насколько помню в делфи было такое.
- 30.08.2016 21:37:42
- Форум: Общее
- Тема: Теория. Работа с размерностями знач. в переменных программ
- Ответы: 34
- Просмотры: 60389
Re: Теория. Работа с размерностями знач. в переменных програ
Как говорил Лекс Айрин : через коэффициенты.
Вот пример перевода угловых координат. Если единицы inp_units и out_units переводятся, то выдается коэффициент пересчета, если нет, то (-1).
Естественно данные описываются структурой: величина, размерность.
В примере 6 единиц: радианы, футы, метры ...
Вот пример перевода угловых координат. Если единицы inp_units и out_units переводятся, то выдается коэффициент пересчета, если нет, то (-1).
Естественно данные описываются структурой: величина, размерность.
В примере 6 единиц: радианы, футы, метры ...
- 23.08.2016 15:49:22
- Форум: Lazarus
- Тема: странности с DecimalSeparator
- Ответы: 0
- Просмотры: 2757
странности с DecimalSeparator
Всем добрый день!
На intuit в курсе "Программирование на Lazarus" приводится функция для проверки ввода вещественных чисел. Я только заменил в ней DecimalSeaparator на DefaultFormatSettings.DecimalSeparator.
Цифры, знак, bechspace, десятичный разделитель - разрешаются, остальные символы ...
На intuit в курсе "Программирование на Lazarus" приводится функция для проверки ввода вещественных чисел. Я только заменил в ней DecimalSeaparator на DefaultFormatSettings.DecimalSeparator.
Цифры, знак, bechspace, десятичный разделитель - разрешаются, остальные символы ...
- 20.08.2016 09:56:33
- Форум: Lazarus
- Тема: Не могу разобраться с WideCompareText
- Ответы: 8
- Просмотры: 6505
Re: Не могу разобраться с WideCompareText
По-моему, у вас ошибка в выражении
Result:= WideCompareText(UTF8ToSys(s), UTF8ToSys(d));
if not Result=(0) then break
Вообще, break используется при выходе из циклов for, while, repeat. if ... then - это не цикл
сделайте просто
if Result=0 then
Потом, возможно, у вас неявное преобразование ...
Result:= WideCompareText(UTF8ToSys(s), UTF8ToSys(d));
if not Result=(0) then break
Вообще, break используется при выходе из циклов for, while, repeat. if ... then - это не цикл
сделайте просто
if Result=0 then
Потом, возможно, у вас неявное преобразование ...
- 19.08.2016 21:34:17
- Форум: Обучение Free Pascal
- Тема: Помощь с Exception SIGSEGV
- Ответы: 4
- Просмотры: 14041
Re: Помощь с Exception SIGSEGV
Дож, Спасибо большое!
Теперь все понятно. Попробую все 3 варианта в познавательных целях.
Добавлено:
Реализовал 1-ый и 3-ий вариант. Код 1-го варианта значительно компактнее и интереснее. 3-ий вариант близок к моему замыслу.
Вопрос решен.
Теперь все понятно. Попробую все 3 варианта в познавательных целях.
Добавлено:
Реализовал 1-ый и 3-ий вариант. Код 1-го варианта значительно компактнее и интереснее. 3-ий вариант близок к моему замыслу.
Вопрос решен.
- 19.08.2016 20:54:01
- Форум: Обучение Free Pascal
- Тема: Помощь с Exception SIGSEGV
- Ответы: 4
- Просмотры: 14041
Re: Помощь с Exception SIGSEGV
Дож , спасибо за ответ!
Вообще я несилен в указателях, идею понимаю, но использовать не получается. Эти строки кода у меня тоже вызывали сомнение, потому что в таком объявлении происходит копирование адреса ArByte, а не его значений, а нужно было именно скопировать значения.
По задумке хотелось ...
Вообще я несилен в указателях, идею понимаю, но использовать не получается. Эти строки кода у меня тоже вызывали сомнение, потому что в таком объявлении происходит копирование адреса ArByte, а не его значений, а нужно было именно скопировать значения.
По задумке хотелось ...
- 19.08.2016 15:26:37
- Форум: Обучение Free Pascal
- Тема: сделать копию массива
- Ответы: 3
- Просмотры: 12514
Re: сделать копию массива
Есть одномерный массив символов(где-то 25 элементов), теперь этот массив надо скопировать (а=в) в цикле(от 1 до 255), в зависимости от условия случайного числа(чётное копируем, нечётное не копируем)..., т.е. я заранее не знаю сколько будет этих массивов, чтоб заранее их описать.. как можно это ...
- 19.08.2016 13:09:09
- Форум: Обучение Free Pascal
- Тема: Помощь с Exception SIGSEGV
- Ответы: 4
- Просмотры: 14041
Помощь с Exception SIGSEGV
Добрый день!
Помогите разобраться с причиной возникновения ошибки Exception SIGSEGV при исполнении программы.
Задача простая: считать из файлов таблицу х, y, z для дальнейших действий. х, y, z хранятся в двух файлах каждый: в бинарном *.img и метафайле *.hdr. Метафайл хранит размерность массива ...
Помогите разобраться с причиной возникновения ошибки Exception SIGSEGV при исполнении программы.
Задача простая: считать из файлов таблицу х, y, z для дальнейших действий. х, y, z хранятся в двух файлах каждый: в бинарном *.img и метафайле *.hdr. Метафайл хранит размерность массива ...
