Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];

Вниз

Ценные примеры кода от начинающих студентов-программистов   Найти похожие ветки 

 
Loginov Dmitry ©   (2006-11-06 20:01) [0]


procedure TForm1.FormCreate(Sender: TObject);
begin
 Path:=Application.ExeName;
 Path:=ExtractFileDir(Path);
 if Path[Length(Path)]<>"\" then
   Path:=Path+"\";


Такое может поднять настроение с утра :)


 
Чапаев ©   (2006-11-06 20:09) [1]

Но ведь уже не утро?..


 
Loginov Dmitry ©   (2006-11-06 20:11) [2]

Так ведь утром еще хотел это написАть
:)


 
Карелин Артем ©   (2006-11-06 20:29) [3]

Долго искал кнопку посыла и нажал на "добавить" по окончании поиска?


 
Vovan#2   (2006-11-06 21:02) [4]

О-о.. :( я так всегда пишу, а это, оказывается, неправильно...


 
Карелин Артем ©   (2006-11-06 21:10) [5]


> Vovan#2   (06.11.06 21:02) [4]

Видимо Дима хочет сказать что не знающие об includetrailingbackslash (Дельфи давно не пользовал) чайники все чайники поголовно.


 
Чапаев ©   (2006-11-06 21:15) [6]

> [5] Карелин Артем ©   (06.11.06 21:10)
Я о таком не знаю. ;-) Лично я бы написал -- Path:=ExtractFilePath(ParamStr(0)). ExtractFilePath() от ExtractFileDir() тем и отличается, что первый даёт путь со слэшем в конце, а второй -- без.


 
Карелин Артем ©   (2006-11-06 21:16) [7]

Меня лично возмутил подход и реализация примера в статьях по шифрованию форм от Логинова Дмитрия на королевстве.


 
Sergey Masloff   (2006-11-06 21:19) [8]

Карелин Артем ©   (06.11.06 21:10) [5]
так она (includetrailingbackslash) то же самое и делает только еще на MBCS проверяет. Не помню точно тоже давно дело было.

Аффтар когда че ругаешь пЕши как надА может мы тоже посмеемся - всякое ж бывает.


 
Карелин Артем ©   (2006-11-06 21:26) [9]

Если он не пишет и из публики предложений нет, мож над ним посмеяться надо?


 
Marser ©   (2006-11-06 21:32) [10]

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


 
DVM ©   (2006-11-06 21:34) [11]

код как код, ничего особенного.


 
DVM ©   (2006-11-06 21:34) [12]

код как код, ничего особенного.


 
Percent   (2006-11-06 21:38) [13]

Слэш там должен буть или его там не должно быть, это проверяется один раз.

Что характерно, путь типа "C:\\\\\\\test.txt" тоже является валидным.
То есть, если надо, то можно смело добавлять слеш в конце пути, и не думать о проверке на дублирование.


 
Чапаев ©   (2006-11-06 21:46) [14]

> [13] Percent   (06.11.06 21:38)
Спасибо за инфу. Всё как-то сомнения брали... ;-)


 
Kolan ©   (2006-11-06 22:14) [15]

> который не уверен в результате работы собственного кода

А try?
Лишняя проверочка не повредит...

Ты всегда уверен что твой код сработает верно? Тогда у тебя в программа НЕТ ошибок, что не верно :)

По сабжу всегда пишу: IncludeTrailindPathDelimiter(ExtractFilePath(...))


 
Чапаев ©   (2006-11-06 22:31) [16]

> По сабжу всегда пишу: IncludeTrailindPathDelimiter(ExtractFilePath(...))
The resulting string is the leftmost characters of FileName, up to and including the colon or backslash that separates the path information from the name and extension. The resulting string is empty if FileName contains no drive and directory parts.

То бишь если аргументом в твой вариант решения передать "c:qwerty" (файл qwerty в текущем каталоге диска c:), то результатом получим "c:\", то есть КОРНЕВОЙ КАТАЛОГ диска c:.


 
Чапаев ©   (2006-11-06 22:32) [17]

> "c:qwerty" (файл qwerty в текущем каталоге диска c:)
Гы... А ведь на NTFS это может быть и файловый поток qwerty файла c...

Всё страньше и страньше... :-|


 
RWolf ©   (2006-11-07 00:11) [18]


> так она (includetrailingbackslash) то же самое и делает
> только еще на MBCS проверяет.


Ничего она не проверяет, точно так же тупо смотрит на последний символ и добавляет при необходимости бэкслеш. И IncludeTrailingPathDelimiter тоже.
Нормальный код, в общем.


 
Ice ©   (2006-11-07 00:38) [19]

>Ценные примеры кода от начинающих студентов-программисто
А что тут ценного?


 
*Стажер*   (2006-11-07 00:46) [20]

Удалено модератором


 
Esu ©   (2006-11-07 00:49) [21]


> Path:=Application.ExeName;
>  Path:=ExtractFileDir(Path);
>  if Path[Length(Path)]<>"\" then
>    Path:=Path+"\";

Я честно говоря не в танке... Тут возможны варианты ?
(по ExtractFileDir в хелпе написано, что точно подходит для определенных функций, глубже не смотрел)


 
Esu ©   (2006-11-07 00:53) [22]

Посмотрел сорцы, поидее все должно быть однозначно, приведенный код должен возвращать без слеша, правда особой защиты от хакеров там нет :)


 
Esu ©   (2006-11-07 00:54) [23]


> особой защиты от хакеров

т.е. никакой нет :)


 
Loginov Dmitry ©   (2006-11-07 07:43) [24]

Карелин Артем ©   (06.11.06 21:10) [5]
Видимо Дима хочет сказать что не знающие об includetrailingbackslash (Дельфи давно не пользовал) чайники все чайники поголовно.


Ну зачем же так. Просто код заслуживает похвалы за особые старания его автора.
А насчет чайников все немного наоборот :)

Карелин Артем ©   (06.11.06 21:16) [7]
Меня лично возмутил подход и реализация примера в статьях по шифрованию форм от Логинова Дмитрия на королевстве.


Что-то страшное?
По секрету: я о подобных статьях слышу в первый раз :)

Sergey Masloff   (06.11.06 21:19) [8]
Аффтар когда че ругаешь пЕши как надА может мы тоже посмеемся - всякое ж бывает.


Да где я кого ругал? Просьба ткнуть на этом месте пальцем!

Esu ©   (07.11.06 0:49) [21]
Я честно говоря не в танке... Тут возможны варианты ?


Ага. Это в [6] :)


 
Карелин Артем ©   (2006-11-07 08:16) [25]


> Loginov Dmitry ©   (07.11.06 07:43) [24]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=247


 
Loginov Dmitry ©   (2006-11-07 09:16) [26]

> [25] Карелин Артем ©   (07.11.06 08:16)


Добавил в закладки. Как нибудь почитаю.


 
Anatoly Podgoretsky ©   (2006-11-07 11:39) [27]

> RWolf  (07.11.2006 00:11:18)  [18]

> Нормальный код, в общем.

Нормальный бы был, если бы вместо Dir использовался Path


 
Anatoly Podgoretsky ©   (2006-11-07 15:20) [28]

> Esu  (07.11.2006 00:53:22)  [22]

> Посмотрел сорцы, поидее все должно быть однозначно, приведенный код должен возвращать без слеша, правда особой защиты от хакеров там нет :)

Ошибаешься, посмотри для головной папке, соответственно потребуются лишнии не нужные проверки, в обе стороны.


 
Sergey Masloff   (2006-11-08 06:39) [29]

Карелин Артем ©   (07.11.06 08:16) [25]
Это просто полный тезка.


 
Sergey Masloff   (2006-11-08 06:47) [30]

RWolf ©   (07.11.06 00:11) [18]

>> так она (includetrailingbackslash) то же самое и делает
>> только еще на MBCS проверяет.

>Ничего она не проверяет,

function IsPathDelimiter(const S: string; Index: Integer): Boolean;
begin
 Result := (Index > 0) and (Index <= Length(S)) and (S[Index] = PathDelim)
   and (ByteType(S, Index) = mbSingleByte); <<==== Што это?!!!
end;

>точно так же тупо смотрит на последний символ и добавляет при >необходимости бэкслеш. И IncludeTrailingPathDelimiter тоже.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.047 c
15-1162732832
Ученик чародея
2006-11-05 16:20
2006.11.26
Программа, которая может писать компютерные программы.


3-1159301119
Olaf
2006-09-27 00:05
2006.11.26
Помогите составить SQL запрос и сведение его результатов.


2-1163097167
kassel
2006-11-09 21:32
2006.11.26
ПЛИЗ HELP!!!


8-1144966315
Alpine
2006-04-14 02:11
2006.11.26
Как очистить IMAGE ?


15-1162582014
Опералюб
2006-11-03 22:26
2006.11.26
Опера - вещь!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский