Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Интернет: Образование, Работа и Бизнес" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Февраль 2011 → | ||||||
1
|
2
|
3
|
4
|
5
|
6
|
|
---|---|---|---|---|---|---|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
25
|
26
|
27
|
|
28
|
Статистика
-1 за неделю
Программирование на Delphi (выпуск 90)
Программирование на DELPHI
Рассылка сайта www.delphi.int.ru | Выпуск №90 (февраль-2011)
С недавнего времени узнавать о новых темах на форуме стало проще: 1) Уведомления на e-mail. В Личной зоне в разделе Другое при включении соответствующей опции вы будете получать почтовые уведомления о новых темах. Среди последних вручённых наград можно отметить юбилейную медаль bugmenot — «5000-ый вопрос на сайте». Количество заданных вопросов наконец-то достигло этой отметки, что само по себе хороший показатель. Кубок форумчанина за январь достался min@y™. Главным событием января стал официальный запуск подсистемы состояний вопросов. Если ранее у вопросов был определённый срок действия (изначально он составлял 1 неделю, но позже был увеличен до 14 дней), то теперь у вопросов есть состояния. Срок пребывания вопроса в любом состоянии не ограничен. Всего существует 3 основных состояния: Открыт — в этом состоянии вопрос находится изначально. Это означает, что требуется его решение. В этом режиме принимаются ответы от экспертов и доступен мини-форум. Решён —состояние, когда автор вопроса решил поставленную проблему. В этом режиме ответы на вопрос уже не принимаются, но обсуждение можно продолжать в мини-форуме. Закрыт — полная остановка развития темы вопроса, включая мини-форум. Это состояние устанавливается в редких случаях, например если в мини-форуме обсуждение вышло за рамки темы вопроса. В связи с этим изменением страница «Активные вопросы» заменилась страницей «Открытые вопросы». Более подробно о состояниях вопросов можно прочитать в справочном разделе на странице Общая информация. В начале каждого месяца подводятся итоги голосования «лучший вопрос» и «лучший ответ» месяца — они выбираются на основе тех оценок, которые давали посетители сайта. Каждый из вопросов и ответов может быть оценён по пятибалльной шкале. Лучшими становятся те, за которые было отдано большее количество голосов и которые имеют наивысший средний балл. Победители получают почётные кубки. За январь-2010 кубки получили: Nolly (лучший вопрос — о восстановлении элементов числовой матрицы) и Ixer (лучший ответ — о перехвате клавиши Delete в TStringGrid). Delphi.int.ru Expert — общение, помощь, обмен опытом Новости | Задать вопрос | Участники и Эксперты | Открытые вопросы | Тематические разделы | Статистика Сегодня вашему вниманию представляется подборка вопросов из раздела «Delphi — Работа с файловой системой». Вопрос # 2 284 Приветствую, уважаемые эксперты! Вопрос задал: POWER (статус: Посетитель) Ответ #1. Отвечает эксперт: Ученый Здравствуйте, POWER! Приведу пример создания *.js Ответ отправил: Ученый (статус: 8-ой класс) Вопрос # 2 472 Доброго времени суток, уважаемые эксперты! Подскажите пожалуйста, как можно программно изменить атрибуты файла (сделать скрытым, системным и т.п.)! Вопрос задал: grom_rk (статус: Посетитель) Ответ #1. Отвечает эксперт: Шичко Игорь Здравствуйте, grom_rk! Ответ отправил: Шичко Игорь (статус: 8-ой класс) Комментарий к оценке: Спасибо!!!
Вопрос # 2 481 Здравствуйте, уважаемые эксперты! Вопрос задал: SKoch92 (статус: Посетитель) Ответ #1. Отвечает эксперт: Ученый Здравствуйте, SKoch92! Почитайте вот это, там все написано)) Ответ отправил: Ученый (статус: 8-ой класс) Комментарий к оценке: Спасибо!
Вопрос # 2 493 Здравствуйте, эксперты! Вопрос задал: ____калясик (статус: Посетитель) Ответ #1. Отвечает эксперт: Dron Здравствуйте, ____калясик! Caption:=IntToStr(GetSubfoldersCount('C:\WINDOWS')); Приложение: Ответ отправил: Dron (статус: Студент) Комментарий к оценке: Спасибо. Помогло!
Вопрос # 2 507 Доброго времени суток, уважаемые эксперты! Вопрос задал: DimonZ (статус: Посетитель) Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, DimonZ! Ответ отправил: Вадим К (статус: Академик) Ответ #2. Отвечает эксперт: Виталий Здравствуйте, DimonZ! Ответ отправил: Виталий (статус: 2-ой класс) Вопрос # 2 525 Доброго времени суток, уважаемые эксперты! Приложение: Вопрос задала: susumi (статус: Посетитель) Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, susumi! Exclude(StringGrid1.Options, goEditing);//Для исключения свойства Include(StringGrid1.Options, goEditing);//для включенияНо меня смущает другое - строка Form2.stringGrid1.Options:=Form4.stringGrid1.Options-[goEditing]; Это так задумано, что гриды с разных форм? вообще то эта запись в контексте Вашей задачи странная. А вот здесь и может содержаться ошибка. Форма 2 (а может и 4) к этому моменту может быть не создана или уже удалена. И если это так, то произойдет ошибка во время исполнения. Какая ошибка у Вас возникает Вы не указали, так что всё возможно. Ответ отправил: Вадим К (статус: Академик) Вопрос # 2 628 Здравствуйте, уважаемые эксперты! Приложение: Вопрос задал: Grom48 (статус: Посетитель) Ответ #1. Отвечает эксперт: Dron Здравствуйте, Grom48! Приложение: Ответ отправил: Dron (статус: Студент) Ответ #2. Отвечает эксперт: min@y™ Ну ващще! Ответ отправил: min@y™ (статус: Кандидат наук) Вопрос # 2 681 Приветствую, уважаемые эксперты! К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса) Вопрос задал: Манаенков АГ (статус: Посетитель) Ответ #1. Отвечает эксперт: Amidamaru Здравствуйте, Манаенков АГ! Приложение: Ответ отправил: Amidamaru (статус: 4-ый класс) Вопрос # 2 693 Доброго времени суток, уважаемые эксперты! Подскажите пожалуйста, как сделать так, чтобы только моя программа могла доступатса к файлу... Спасибо Вопрос задал: Oleg251viti (статус: Посетитель) Ответ #1. Отвечает эксперт: Паровоз Здравствуйте, Oleg251viti! Ответ отправил: Паровоз (статус: 10-ый класс) Вопрос # 2 767 Здравствуйте, уважаемые эксперты! Вопрос задал: Яуген Таляныч (статус: Посетитель) Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, Гена Гутницкий! Ответ отправил: Вадим К (статус: Академик) Комментарий к оценке: ОК ! Проект успешно двинулся с места благодаря помощи знатоков, так что чайницкие вопросы пока
прекращаются. Скачаю сайт целиком и буду читать как FAQ. Ответ #2. Отвечает эксперт: Ученый Здравствуйте, Гена Гутницкий! На сайте Андрей написал целую статью Обучающий курс. 25. Работа с файлами и каталогами (часть 1). Ответ отправил: Ученый (статус: 8-ой класс) Комментарий к оценке: Thanks !
Вопрос # 2 776 Приветствую, уважаемые эксперты! К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса) Вопрос задал: Манаенков АГ (статус: Посетитель) Ответ #1. Отвечает эксперт: min@y™ “Цитата” Проблема в том что код выполняется после Else Форматировать свой код надо по-человечески. Я это сделал для тебя, теперь видно, где не хватает begin...end: procedure TMailBoxForm.CreateButtonClick(Sender: TObject); begin i:= extractfilepath(application.exename); ini:=tinifile.Create((i)+'Setup.ini'); if (ini.ValueExists('UserName','')) and (ini.ValueExists('Pop3 Host','')) then Begin ini.WriteString('Pop3 Host','host1',popedit.Text); ini.WriteString('Autentification','UserName1',EnDeCrypt (Loginedit.Text)); ini.WriteString('Autentification','Password1',EnDeCrypt (Passedit.Text)); close; postofisform.Enabled:=true; ini.Free; end else ini.WriteString('Pop3 Host','host',popedit.Text); // Дальше идёт код, который выполняется в любом случае // и вылезет Access violation, если выполнение пошло по ветке "then" ini.WriteString('Autentification','UserName',EnDeCrypt (Loginedit.Text)); ini.WriteString('Autentification','Password',EnDeCrypt (Passedit.Text)); Showmessage('Папка удачно создана'); showmessage('Если необходимо создать ещё папку перезапустите окно'); if postofisform.IdPOP3.Connected then postofisform.IdPOP3.Disconnect; close; ini.Free; postofisform.Enabled:=true; Ответ отправил: min@y™ (статус: Кандидат наук) Комментарий к оценке: Я всего пару месяцев пробую програмировать поэтому не совсем понял(Я это сделал для тебя, теперь видно, где не хватает begin...end:
)после else заключил код в begin....end а ini.ValueExists заменил на SectionExists всё заработало.Если есть возможноссть поподробнее о // Дальше идёт код, который выполняется в любом случае // и вылезет Access violation, если выполнение пошло по ветке "then" Вопрос # 3 068 Здравствуйте, эксперты! Приложение: Вопрос задал: slava863 (статус: Посетитель) Ответ #1. Отвечает эксперт: Мережников Андрей Здравствуйте, slava863! Приложение: Ответ отправил: Мережников Андрей (статус: 10-ый класс) Ответ #2. Отвечает эксперт: Вадим К Здравствуйте, slava863! var sl:TStringList; begin sl:=TStringList.create; try sl.LoadFromFile('имяфайла'); if (sl.count < 14) then begin ShowMessage('Мало строк в файле'); exit; end; ShowMessage(sl[14-1]); finally sl.free; end; end; Ответ отправил: Вадим К (статус: Академик) Вопрос # 3 330 Доброго времени суток, уважаемые эксперты! Вопрос задал: djemov (статус: Посетитель) Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, djemov! uses FileCtrl, // нужно добавить для SelectDirectory Forms, Dialogs; // procedure TForm1.ButtonClick1(Sender: TObject); var chosenDirectory : string; begin // Ask the user to select a required directory, starting with C: if SelectDirectory('Select a directory', 'C:\', chosenDirectory) then ShowMessage('Chosen directory = '+chosenDirectory) else ShowMessage('Directory selection aborted'); end; Ответ отправил: Вадим К (статус: Академик) Ответ #2. Отвечает эксперт: DNK Здравствуйте, djemov! Приложение: Ответ отправил: DNK (статус: Абитуриент) Вопрос # 3 346 Доброго времени суток, уважаемые эксперты! Вопрос задал: Kyran29 (статус: Посетитель) Ответ #1. Отвечает эксперт: Amidamaru Здравствуйте, Kyran29! Приложение: Ответ отправил: Amidamaru (статус: 4-ый класс) Ответ #2. Отвечает эксперт: Паровоз Здравствуйте, Kyran29! uses SHFolder; const SHGFP_TYPE_CURRENT = 0; var s:String; begin SetLength(s,MAX_PATH); SHGetFolderPath(0,CSIDL_PROGRAM_FILES,0,SHGFP_TYPE_CURRENT,PChar(s)); Edit1.Text:=s; end; Ответ отправил: Паровоз (статус: 10-ый класс) Ответ #3. Отвечает эксперт: Жикльор Здравствуйте, Kyran29! function GetProgramFilesDir: string; var reg: TRegistry; begin reg := TRegistry.Create; try reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion', False); Result := reg.ReadString('ProgramFilesDir'); finally reg.Free; end; end; А теперь просто используем ее в вашем обработчике OnActivate: procedure TForm1.OnActivate(Sender: TObject); var ProgramFiles: string; begin ProgramFiles:=GetProgramFilesDir; ShowMessage(ProgramFiles); end; З.Ы. Только не забудьте в раздел uses добавить модуль Registry. Ответ отправил: Жикльор (статус: 5-ый класс) Вопрос # 4 336 Здравствуйте, уважаемые эксперты! Вопрос задал: mr_switch (статус: Посетитель) Ответ #1. Отвечает эксперт: Егор Здравствуйте, mr_switch! ... {$I-} // выключили прерывания по ошибкам ввода-вывода // пробелы перед открывающей фигурной скобкой в начале строки должны отсутствовать! ... // здесь попытались открыть файл {$I+} // включили обратно прерывания по ошибкам ввода-вывода if IOResult=0 then // если ошибок при открытии не было begin ... // код обработки файла end else begin ... // код обработки ошибки открытия файла end; ... Другой подход, свойственный программированию под дельфи - обернуть "опасный" участок в блок try...except или try...finally: ... try ... // открываем файл, обрабатываем его except on EInOutError do begin ... // открыть файл не удалось. здесь обрабатываем ошибку end; end; Ответ отправил: Егор (статус: 9-ый класс) Комментарий к оценке: все та же ошибка вылетает
Ответ #2. Отвечает эксперт: min@y™ Вот это КОД!!! Лучше б не показывал! Убери его отсюда, не позорься. А у себя в программе замени это безобразие на procedure TForm1.Timer2Timer(Sender: TObject); begin try cmd.Lines.LoadFromFile('C:\log\log.csv'); except cmd.Lines.Text:= 'err open'; end; end; Ответ отправил: min@y™ (статус: Кандидат наук) Комментарий к оценке: теперь вылетает такая ошибка: "raised exception class EFOpenError with message 'Cannot open file "C:\log\log.csv". Процесс не может получить доступ к файлу, так как этот файл занят другим процеccом'.
Файловый архив — последние добавления Библиотека
Игры
Исходники
Компоненты
Программы
Разделы файлового архива: Статьи | Компоненты | Исходники | Программы | Библиотека | Plug-in's | Изображения | Игры Анекдоты про обычную почту Ночь, дождь, шторм... Одинокая лодка с почтальоном плывет к маяку. Подплывает, выходит смотритель маяка. И почтальон со злобой отдает ему посылку. - На, возьми! - Смотри, будешь возмущаться - на газеты подпишусь! - Знаешь, был у меня почтовый голубь, но погиб при исполнении... - Как это? Подстрелили? - Да нет! На почте пришибли, когда штемпель ставили... Он жил в таком захолустье, что даже почтальон пересылал ему письма по почте. Солдат получает письмо из дома. Когда он открывает конверт, из него выпадает чистый лист бумаги. - Перед самым уходом в армию поссорился с невестой. И с тех пор мы не разговариваем, - объясняет солдат удивленным товарищам. Позвонившему в дверь почтальону открывает мальчик, лет 5-6 с сигарой в зубах. Почтальон расстерянно: «А Мама или Папа д.. дд.. дддома?» Мальчик, выпуская струю дыма в лицо почтальону и счастливо улыбаясь: «Ну а сам-то как думаешь?» - Алло! Это общество защиты животных? - Да. У вас проблемы? - Да! У моего дома на дереве сидит почтальон и оскорбляет мою собаку последними словами! Жена-мужу: - У нас такой умный песик! Каждое утро бежит к почтовому ящику и забирает в дом газеты. - Ну и что, многие собаки так умеют... - Но мы ни на какие газеты не подписывались! Однажды молодой сисадмин, открыв свой почтовый ящик, нашел там повестку в райвоенкомат. - Опять этот чертов спам, - прорычал он, нервно разрывая повестку в клочья. - Можешь представить себе такое нахальство? Целых пять лет я писал ей любовные письма... - А потом? - А потом она вышла замуж за почтальона. У матроса, только что призванного, спрашивают, где на флоте он хотел бы служить. - На подводной лодке, - сразу отвечает он. - Почему именно на подводной лодке? - А интересно, как на нее почта доставляется... Написал ребенок письмо деду Морозу и в том письме попросил у него шубу, варежки и ботинки. На почте прочитали это письмо, и стало им жалко ребенка, собрали денег. Купили ему шубку и варежки, а на ботинки денег не хватило. Так и отправили ребенку, как будто от деда Мороза. Через некоторое время приходит ответ от мальчика: «Спасибо тебе дедушка Мороз! Получил я от тебя шубку и варежки, а вот ботинок не было там. Наверное на почте украли.» Звонок из одной Московской организации в Новосибирскую: Пожалуйста, через два часа перешлите такой-то файл по электронной почте! А через два часа - это по вашему или по нашему времени? Девушка получила письмо от своего приятеля, который служил где-то возле Фолклендских островов. В конверте вместо письма она обнаружила короткую записку: «Ваш друг все еще любит вас, но он слишком много болтает. Цензор». Источник: bayanov.net WWW: http://www.delphi.int.ru/ E-mail: admin@delphi.int.ru | support@delphi.int.ru Если Вы хотите где-либо разместить материалы, представленные на www.delphi.int.ru или в данной рассылке, свяжитесь, пожалуйста, с их автором или ведущим рассылки. |
В избранное | ||