purebasic.info

PureBasic forum
Текущее время: Чт янв 17, 2019 2:15 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: PureBasic 5.70
СообщениеДобавлено: Ср янв 09, 2019 11:02 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6438
Благодарил (а): 21 раз.
Поблагодарили: 204 раз.
Пункты репутации: 52
Цитата:
#PS, #NPS, #PS$ and #NPS$ constants (Path seperator character depending of the OS)

Интересно, кому придёт в голову написать в коде #PS$ или #NPS$ вместо \ или /
Или для чего-то другого нужны эти константы?

_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.70
СообщениеДобавлено: Ср янв 09, 2019 11:33 am 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт ноя 22, 2016 7:59 am
Сообщений: 82
Откуда: Россия/Пятигорск
Благодарил (а): 0 раз.
Поблагодарили: 16 раз.
Пункты репутации: 0
Цитата:
Интересно, кому придёт в голову написать в коде #PS$ или #NPS$ вместо \ или /
Или для чего-то другого нужны эти константы?

При кроссплатформенной разработке самое то


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.70
СообщениеДобавлено: Ср янв 09, 2019 12:49 pm 
Не в сети
доцент

Зарегистрирован: Чт ноя 01, 2012 10:54 am
Сообщений: 60
Откуда: Стрый, Украина
Благодарил (а): 1 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
alone67 писал(а):
При кроссплатформенной разработке самое то


Ага, кроссплатформенной. Именно поэтому в каждой теме код с использованием WinAPI.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.70
СообщениеДобавлено: Ср янв 09, 2019 2:36 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6438
Благодарил (а): 21 раз.
Поблагодарили: 204 раз.
Пункты репутации: 52
alone67 писал(а):
При кроссплатформенной разработке самое то

Это как поможет ускорить написание кода? Знаешь, или просто так высказался?
Тогда объясни дядьке!

Путь до файла в Linux - прямой слеш "/"
Код:
1
ls /home/alone67/tmp/file1


Совместимый пример в Windows, свободно принимает прямой слеш "/"
Код:
1
C:/Users/alone67/tmp/file1


Или не совместимый, обратный слеш "\"
C:\Users\alone67\tmp\file1

Куда пихать для удобства или совместимости #PS$ или #NPS$?

_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.70
СообщениеДобавлено: Ср янв 09, 2019 9:14 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт ноя 22, 2016 7:59 am
Сообщений: 82
Откуда: Россия/Пятигорск
Благодарил (а): 0 раз.
Поблагодарили: 16 раз.
Пункты репутации: 0
Цитата:
Путь до файла в Linux - прямой слеш "/"
ls /home/alone67/tmp/file1

Я не линуксоид, но возможно в линухе так
Код:
1
ls \home\alone67\tmp\file1


может и не прокатить


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.70
СообщениеДобавлено: Чт янв 10, 2019 6:58 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6438
Благодарил (а): 21 раз.
Поблагодарили: 204 раз.
Пункты репутации: 52
alone67 писал(а):
Я не линуксоид, но возможно в линухе так
Код:
1
ls \home\alone67\tmp\file1


может и не прокатить

К гадалке не ходи, не прокатит :D
А константы тут как помогут? Ну чтобы одинаково получилось и в винде и линухе.

_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.70
СообщениеДобавлено: Чт янв 10, 2019 8:19 am 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт ноя 22, 2016 7:59 am
Сообщений: 82
Откуда: Россия/Пятигорск
Благодарил (а): 0 раз.
Поблагодарили: 16 раз.
Пункты репутации: 0
Здесь https://www.purebasic.fr/english/viewtopic.php?f=3&t=68526 обсуждался этот вопрос.

У меня нет возможности проверить это на линухе, но предполагаю, что компиляторы для разных ОС по разному интерпретируют эти константы
и теперь не нужно будет вставлять подобную конструкцию
Код:
1
2
3
4
5
6
7
CompilerIf (#PB_Compiler_OS = #PB_OS_Windows)
  #PS  = '\'
  #NPS = '/'
CompilerElse
  #PS  = '/'
  #NPS = '\'
CompilerEndIf


и строка
Код:
1
#PS + "home" + #PS + "alone67" + #PS + "tmp"


будет корректна для обоих осей


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.70
СообщениеДобавлено: Чт янв 10, 2019 12:52 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6438
Благодарил (а): 21 раз.
Поблагодарили: 204 раз.
Пункты репутации: 52
alone67 писал(а):
и строка
Код:
1
#PS + "home" + #PS + "alone67" + #PS + "tmp"


будет корректна для обоих осей

Т.о. кто то серьёзно вместо одного одной '\' готов написать 7-8 лишних знаков "+#PS+"?
Похоже, что так, но это путаница, если одна и та же константа обозначает в разных системах прямой и обратный слеш по разному.
Тем более, что всё равно именно в вопросе путей к файлу в 90% ни о какой совместимости и речи быть не может, пути к папкам системы разные и API разные (это к аргументу, что некоторые АПИ в Винде не поддерживают "/"). А в остальных 10% можно тупо рисовать слеши как в Маке и Линухе:
/alone67/tmp/file1
Винда скушает.

_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.70
СообщениеДобавлено: Чт янв 10, 2019 3:41 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт ноя 22, 2016 7:59 am
Сообщений: 82
Откуда: Россия/Пятигорск
Благодарил (а): 0 раз.
Поблагодарили: 16 раз.
Пункты репутации: 0
Цитата:
кто то серьёзно вместо одного одной '\' готов написать 7-8 лишних знаков "+#PS+"?

Написание подавляющего большинства названий констант пурика намного длиннее их значения, например
Код:
1
#PB_FileSystem_Recursive вместо 1


Однако все их используют, потому что это нужно для удобочитаемости кода, а не для ускорения его написания :D
Цитата:
в вопросе путей к файлу в 90% ни о какой совместимости и речи быть не может, пути к папкам системы разные

Если использовать только относительные пути, то можно вполне добиться 100%-ой совместимости. Хотя ... это зависит от поставленных задач.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.70
СообщениеДобавлено: Чт янв 10, 2019 5:36 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6438
Благодарил (а): 21 раз.
Поблагодарили: 204 раз.
Пункты репутации: 52
alone67 писал(а):
Однако все их используют, потому что это нужно для удобочитаемости кода, а не для ускорения его написания :D


Кто то считает, что это понять и прочитать удобнее
Код:
1
#PS + "home" + #PS + "alone67" + #PS + "tmp"


чем это
Код:
1
/home/alone67/tmp/file1


:D
Особенно если учесть, что вы даже не знаете, какой будет конечный результат этого кода, ибо зависит от системы :lol:
ИМХО глупость...

_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.70
СообщениеДобавлено: Чт янв 10, 2019 6:09 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт ноя 22, 2016 7:59 am
Сообщений: 82
Откуда: Россия/Пятигорск
Благодарил (а): 0 раз.
Поблагодарили: 16 раз.
Пункты репутации: 0
Цитата:
Кто то считает, что это понять и прочитать удобнее
Код:
1
#PS + "home" + #PS + "alone67" + #PS + "tmp"


Это лишь частный случай :) Я имел ввиду вообще применение констант вместо непонятных числовых значений


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB