Телескопы покупают здесь


A A A A Автор Тема: Изучаю Паскаль. Присоединяйтесь.  (Прочитано 22943 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Toth

  • *****
  • Сообщений: 2 662
  • Благодарностей: 181
    • Сообщения от Toth
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #80 : 07 Янв 2023 [10:08:13] »
У меня тоже . PR_CONNECT_RESET_ERROR

Оффлайн АурипигментАвтор темы

  • *****
  • Сообщений: 5 587
  • Благодарностей: 170
  • Ми пацаки с планеты Земля. А Ви кто?
    • Сообщения от Аурипигмент
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #81 : 07 Янв 2023 [12:52:06] »
Вообще, лучше для доступа использовать яндекс диск, нежели не понятные ресурсы. :-[
А вот, как здесь на форуме обмениваться листингами программ? Если вставлять в код, то потом прога не хочет работать, с расширением .pas форум не проглотит, остаётся зиповать и вкладывать архив, но запарно паковать-распаковывать. :(
Надо ещё проверить: если переименовать .pas в .txt, то слетит ли форматирование. 8)
Нам тайны не раскрытые раскрыть пора,
Лежат без пользы тайны, как в копилке.
Мы тайны эти с корнем вырвем у ядра,
На волю пустим Джина из бутылки.

Оффлайн Toth

  • *****
  • Сообщений: 2 662
  • Благодарностей: 181
    • Сообщения от Toth
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #82 : 07 Янв 2023 [13:53:22] »
А вот, как здесь на форуме обмениваться листингами программ? 
.. если переименовать .pas в .txt, то слетит ли форматирование.
Какое форматирование ? В смысле - красивые отступы ?
Ничего не полетит.
Можно просто копировать все , вставить в Блокнот, сохранить как txt файл. Его и выложить. Если большой код.
А если мелочь в десяток строк, то в посте [коде] .. [/коде]. Правда , иногда после копирования из поста пробелы неправильные, как я писал уже.



Оффлайн Guy Fawkes II

  • ***
  • Сообщений: 227
  • Благодарностей: 70
  • Мне нравится этот форум!
    • Сообщения от Guy Fawkes II
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #83 : 07 Янв 2023 [18:57:15] »
OK, ссылка на Яндекс-Диск:

https://disk.yandex.ru/d/WTr-OETe7H9rig
Рефрактор ахромат 126/1200 самодельный на основе объектива DKD,  зрительная труба "Юкон-100", бинокли Veber 30х60 (24x47) и Military Marine 60x90 (9x58,5), а также

Планетарий "Звездный глобус"

Оффлайн Toth

  • *****
  • Сообщений: 2 662
  • Благодарностей: 181
    • Сообщения от Toth
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #84 : 07 Янв 2023 [19:38:40] »
OK, ссылка на Яндекс-Диск
Вот, спасибо. Будем осваивать.
Только один баг - вы не подумали о том, что могут быть разные настройки ОС (язык и региональные параметры ), в частности десятичный разделитель . То есть 3,14 или 3.14. У меня - точка, мне так удобнее ( в частности работы на  Паскале ).
Поэтому у меня выскакивает - см. рис.
Поменял в ОС . на , - заработало.

То есть надо было в проге как-то это учесть с помощью глобальной переменной DecimalSeparator

Оффлайн АурипигментАвтор темы

  • *****
  • Сообщений: 5 587
  • Благодарностей: 170
  • Ми пацаки с планеты Земля. А Ви кто?
    • Сообщения от Аурипигмент
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #85 : 07 Янв 2023 [19:43:19] »
А у меня Линукс.  :(
Надо как-то через вайн запускать. :-[
По виду похоже на Старкалк, который то же на Паскале написан. 8)

Попытался запустить через вайн, вылезла ошибка, что файла нет и пустая оболочка, но в оболочке всё переключалось. ???
« Последнее редактирование: 07 Янв 2023 [19:53:30] от Аурипигмент »
Нам тайны не раскрытые раскрыть пора,
Лежат без пользы тайны, как в копилке.
Мы тайны эти с корнем вырвем у ядра,
На волю пустим Джина из бутылки.

Оффлайн Toth

  • *****
  • Сообщений: 2 662
  • Благодарностей: 181
    • Сообщения от Toth
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #86 : 07 Янв 2023 [20:02:50] »
Надо как-то через вайн запускать
Или можно скормить исходники для Дельфы Лазарусу.
Создайте проект в Лазарусе, в его папку вывалите все файлы, и компилируйте.
Я так делал. Брал то, что написал в Дельфы в Винде, компилировал в Лазарусе в Линуксе. Правда, давно уже, и проект был попроще.
Конечно могут быть какие-то проблемы, наверное связанные с файловыми операциями.

Оффлайн Guy Fawkes II

  • ***
  • Сообщений: 227
  • Благодарностей: 70
  • Мне нравится этот форум!
    • Сообщения от Guy Fawkes II
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #87 : 07 Янв 2023 [20:04:09] »
Было, притаскивал как-то это к коллегам в другом городе на работу, там так же оно не запустилось (такая же проблема с точкой и запятой), на новой Embarcadero Delphi оно уже не компилируется, хотел еще под Android переписать, но руки уже ни до чего не доходят, потому и выкладываю, чтобы вообще не пропало
Рефрактор ахромат 126/1200 самодельный на основе объектива DKD,  зрительная труба "Юкон-100", бинокли Veber 30х60 (24x47) и Military Marine 60x90 (9x58,5), а также

Планетарий "Звездный глобус"

Оффлайн Проходящий Кот

  • *****
  • Сообщений: 19 348
  • Благодарностей: 426
    • Сообщения от Проходящий Кот
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #88 : 07 Янв 2023 [20:06:09] »
В Дельфи-7 нормально откомпилирована.

Оффлайн Проходящий Кот

  • *****
  • Сообщений: 19 348
  • Благодарностей: 426
    • Сообщения от Проходящий Кот
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #89 : 07 Янв 2023 [20:11:41] »

Книги по Дельфи

Паскалю


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


Всё с торрентов.
« Последнее редактирование: 07 Янв 2023 [21:05:55] от Проходящий Кот »

Оффлайн Toth

  • *****
  • Сообщений: 2 662
  • Благодарностей: 181
    • Сообщения от Toth
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #90 : 07 Янв 2023 [20:15:26] »
В Дельфи-7 нормально откомпилирована.
У меня тоже 7, и тоже компилируется нормально.
Это уже при запуске .exe ( или готового, или свежескомпилированного ) - проблемы точка-запятая.
В файле defdir исправил 14,0 на 14.0 , но все равно где-то в других файлах есть запятые.

А в настройках ОС на запятую неохота переходить. Я не случайно на точку перешел. В Паскале ( да и с Си ) в цифровых константах - точка. Например, в константных массивах.

Оффлайн АурипигментАвтор темы

  • *****
  • Сообщений: 5 587
  • Благодарностей: 170
  • Ми пацаки с планеты Земля. А Ви кто?
    • Сообщения от Аурипигмент
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #91 : 07 Янв 2023 [20:21:23] »
Создайте проект в Лазарусе, в его папку вывалите все файлы, и компилируйте.
Я ещё так не умею. Надо разбираться. :(
Нам тайны не раскрытые раскрыть пора,
Лежат без пользы тайны, как в копилке.
Мы тайны эти с корнем вырвем у ядра,
На волю пустим Джина из бутылки.

Оффлайн Проходящий Кот

  • *****
  • Сообщений: 19 348
  • Благодарностей: 426
    • Сообщения от Проходящий Кот
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #92 : 07 Янв 2023 [20:21:49] »
Это лечится просто   --- вводятся буквы. цифры 0123456789 воспринимаются  как цифры, + - тоже изображают сами себя.
 Остальные  любые знаки воспринимаются как знак разделения.
E, e ---- отсечение текстовой степени



 type
     rex=extended;



function civrread(st:string):rex;
  var
   ct0,exponent:string;
   vids:boolean;
   i,j,k:byte;
   cifrs:rex;
   exponentC:longint;
begin
 ct0:=st;
  k:=1;J:=0;
  // отсечение текстовой степени
 for i:= length(st) downto 1 do
  if st in ['E','e'] then
         begin;
           j:=i;
           if st[i+1]='-' then
               begin;J:=j+1;K:=0; end;
           exponent:=copy(st,j+1,length(st));
           ct0:=copy(st,1,j);
           break;
         end;
  // преобразование степени в числовую форму
       exponentC:=0;
  if J>0 then
    begin;
     for i:= length (exponent) downto 1 do
   if not(exponent in ['0'..'9']) then
       Delete(exponent,i,1);
        exponentC:=strtoint( exponent);
        if k=0 then  exponentC:=- exponentC;
    end;


   // отсечение общего знака
  vids:=false;j:=0;
if st[1]='-' then ct0:=copy(st,2,length (st));
ct0:='00'+ct0+'.00';
    // преобразование числа к длинному целому


  CIFRS:=0;
  for i:=1  to length (ct0) do
   if ct0 in ['0'..'9'] then
 begin;inc(j);
  cifrs:=10*cifrs+strtoint(ct0);
   end
  else
 if not vids then
    begin;
     vids:=true;
     j:=0;
    end;


// точное определение степени числа
     exponentC:= exponentC-j;
// отрицательная степень
     if  exponentC <0 then
 for i:=1 to abs(exponentC) do
    cifrs:=cifrs/10;
// положительная степень
      if  exponentC >0 then
 for i:=1 to abs(exponentC) do
    cifrs:=cifrs*10;
// добавление знака числа
 if st[1]='-' then cifrs:=-cifrs;
 civrread:= cifrs;
end;


Вариант без экспоненты


function civrread(st:string):rex;
  var
   ct1,ct2:string;
   vids:boolean;
   i,j:byte;
   siv1,siv2:integer;
   znak:string;
   cifrs:rex;
begin
  st:=st+'.00';
 znak:='+';ct1:=st;ct2:='';
  vids:=false;j:=0;
if st[1]='-' then begin;ct1:=copy(st,2,length (st));znak:='-';end;
ct1:='00'+ct1;
for i:=1  to length (ct1) do
   if ct1 in ['0'..'9'] then
 begin;inc(j);
   ct2:=ct2+ct1;end
  else
 if not vids then
    begin;
     vids:=true;
     siv1:=strtoint(ct2);
     ct2:='';j:=0;
    end;
 siv2:=strtoint(ct2);
 cifrs:=siv2;
   for i:=1 to j do
 cifrs:=cifrs/10;
 cifrs:=cifrs+siv1;
 if st[1]='-' then cifrs:=-cifrs;
 civrread:= cifrs;
end;

« Последнее редактирование: 07 Янв 2023 [20:48:41] от Проходящий Кот »

Оффлайн Guy Fawkes II

  • ***
  • Сообщений: 227
  • Благодарностей: 70
  • Мне нравится этот форум!
    • Сообщения от Guy Fawkes II
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #93 : 07 Янв 2023 [20:26:06] »
Там читаются сами каталоги Bright Star и ASCC и при каждом обращении используется эта запятая через StrToFloat, придется потом действительно этим заняться.

Книги - благодарю!
Рефрактор ахромат 126/1200 самодельный на основе объектива DKD,  зрительная труба "Юкон-100", бинокли Veber 30х60 (24x47) и Military Marine 60x90 (9x58,5), а также

Планетарий "Звездный глобус"

Оффлайн Toth

  • *****
  • Сообщений: 2 662
  • Благодарностей: 181
    • Сообщения от Toth
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #94 : 07 Янв 2023 [20:54:57] »
Можно так.
Создаем глобальную переменную в модуле главной формы например.
var  DecSepOS:char;
В начале, например в событии FormCreate :
DecSepOS:=DecimalSeparator;  // запоминаем разделитель ОС
DecimalSeparator:=',';       // устанавливаем свой

В конце, например в FormClose:
DecimalSeparator:=DecSepOS; // восстанавливаем, как было в ОС
Хотя, может и не надо восстанавливать, при закрытии проги может и само восст.

PS Сейчас сделал это в smp1.pas - все ОК.
« Последнее редактирование: 07 Янв 2023 [21:12:06] от Toth »

Оффлайн eabrega

  • **
  • Сообщений: 69
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от eabrega
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #95 : 13 Янв 2023 [02:34:25] »
А вот, как здесь на форуме обмениваться листингами программ? Если вставлять в код, то потом прога не хочет работать, с расширением .pas форум не проглотит, остаётся зиповать и вкладывать архив, но запарно паковать-распаковывать.

Github индустриальный стандарт для размещения исходных кодов.
https://astronav.ru - актуальная версия
https://stage.astronav.ru - тестовый стенд (мобильная версия не работает!!)

Оффлайн Toth

  • *****
  • Сообщений: 2 662
  • Благодарностей: 181
    • Сообщения от Toth
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #96 : 13 Янв 2023 [09:31:06] »
Github индустриальный стандарт
Это для профи, или весьма продвинутых любителей.
Но если скачивать - то конечно оттуда.

Оффлайн byFelix

  • Новичок
  • *
  • Сообщений: 23
  • Благодарностей: 2
  • Мне нравится этот форум!
    • Сообщения от byFelix
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #97 : 13 Янв 2023 [15:25:02] »
Можно так.
Создаем глобальную переменную в модуле главной формы например.
...
В начале, например в событии FormCreate :
...
В конце, например в FormClose:
Не надо так делать. Добавляем в главную форму секции Initialization и Finalization. В Initialization читаем DecimalSeparator и меняем его. В Finalization восстанавливаем.

Arsenal 150/750, Arsenal 130/900

Онлайн CyberManiac

  • *****
  • Сообщений: 8 487
  • Благодарностей: 477
  • Я ♥ オリオン!
    • Сообщения от CyberManiac
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #98 : 13 Янв 2023 [16:12:10] »
Можно так.
Создаем глобальную переменную в модуле главной формы например.
...
В начале, например в событии FormCreate :
...
В конце, например в FormClose:
Не надо так делать. Добавляем в главную форму секции Initialization и Finalization. В Initialization читаем DecimalSeparator и меняем его. В Finalization восстанавливаем.
И так тоже делать не надо. Для преобразования строки в число с незапамятных времён есть процедура Val, у которой десятичный разделитель всегда точка, плюс есть возможность отлавливать нечисловые значения по коду ошибки.
Трэш, угар и астрономия!
沖縄最高

Оффлайн ma][im

  • *****
  • Сообщений: 4 984
  • Благодарностей: 1445
  • Награды Неоднократный победитель конкурса астрофото
    • Сообщения от ma][im
Re: Изучаю Паскаль. Присоединяйтесь.
« Ответ #99 : 16 Янв 2023 [19:43:55] »
Товарищи программисты, не знаю куда вопрос задать - попробую тут поинтересоваться, раз были разговоры про TLE.
А есть ли возможность узнать TLE МКС не актуальные данные, а на определенную дату (несколько месяцев назад), может где-то хранится история изменений TLE?
зы вопрос решен, сайт space-track.org
« Последнее редактирование: 16 Янв 2023 [20:44:26] от ma][im »
мы не ангелы парень.
(кликните для показа/скрытия)