Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi

Автор: EZH
Дата сообщения: 15.04.2006 17:11
reenoip
Ты выложи нам скрин своего чудо-интерфейса, всем же интересно...
Автор: reenoip
Дата сообщения: 15.04.2006 17:40
EZH, ))) что, чек-боксы вместо радио-батонов не видел? lol )))



Выложил бы, да не могу. Копирайт
Да и сам проект мне ещё сдать нужно, прежде чем раздавать
Автор: EZH
Дата сообщения: 15.04.2006 17:59
reenoip
Да видел, просто интересно что уж там такого, я сам много занимаюсь проектированием интерфейсов. Сам проект не надо, просто скрин формы, даже надписи можешь заменить чтобы не понятно было о чем. Впрочем как занешь... не хочешь - не надо
Автор: valerka78
Дата сообщения: 15.04.2006 19:14

Цитата:
тут ты не прав, это дело заказчика, как он скажет так и должно быть

Конечно, я согласен если заказчик скажет: "Значит радиобуттоны мне так, а чекбоксы так!". Но, как правило, так не говорят.


Цитата:
Кажется, я напоролся (нечаянно!) на консерватора "Win 3.1"

Где-то я с тобой согласен


reenoip

Цитата:
нужно открыть папку с установленными сетевыми подключениями.

Уточни плиз, тебе именно "Сетевое окружение", или просто список станций в сети?
Автор: reenoip
Дата сообщения: 15.04.2006 20:51
Нет, valerka78, мне в XP нужно открыть именно "Сетевые подключения" (не "Окружение..."). Это тот самый каталог, где лежат "1394 Connection", "Local Area Connection", ярлыки запуска диалапа и т.д. и т.п. (он же - через "Панель управления").
Автор: gpi
Дата сообщения: 15.04.2006 22:25
reenoip
uses ShellApi;
ShellExecute(Handle, nil, 'Control.exe', 'ncpa.cpl', nil,sw_ShowNormal);
или просто
WinExec('Control.exe ncpa.cpl',SW_RESTORE);
Автор: reenoip
Дата сообщения: 15.04.2006 23:24
gpi, угу, спасибо!

А вот ещё: нужно определить активность соединения с интернетом (диалап, gprs, adsl - с учётом всех видов подключения). Т.е. перед показом формы нужно проверить, есть ли доступ в Сеть, чтобы, скажем, проверить наличие некоторых файлов.
Кроме пинга какого-нибудь IP другим путём можно это реализовать, нет?
Автор: gpi
Дата сообщения: 15.04.2006 23:39
reenoip
Цитата из Delphi World http://delphiworld.narod.ru
Кстати, сборник сделан твоим соотечественником

Цитата:
uses
WinInet;

{...}

function IsConnectedToInternet: Boolean;
var
dwConnectionTypes: DWORD;
begin
dwConnectionTypes :=
INTERNET_CONNECTION_MODEM +
INTERNET_CONNECTION_LAN +
INTERNET_CONNECTION_PROXY;
Result := InternetGetConnectedState(@dwConnectionTypes, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if IsConnectedToInternet then
ShowMessage('Connected.')
else
ShowMessage('Not Connected.')
end;
Автор: reenoip
Дата сообщения: 16.04.2006 01:03
Нет, немного не то - 'Connected' показывается всегда, даже в том случае, если фактически присутствует доступ лишь в локалку, а не в интернет.
Но всё равно спасибо
И соотечественнику моему тоже )))


Кстати, почитал инфу об определении активности доступа... Короче, без пинга, как оказалось, никуда, так что пришлось накручивать трафик. Хотя, платить за него заказчику, фиг с ним )))
Автор: SPeller
Дата сообщения: 16.04.2006 02:57
Угу, никакие ухищрения кроме пинга нужного узла (узлов) не ответят - подключен комп к инету или нет.
Автор: valerka78
Дата сообщения: 16.04.2006 08:07

Цитата:
Угу, никакие ухищрения кроме пинга нужного узла (узлов) не ответят - подключен комп к инету или нет.


Ну ну. А конект не прокатит?

reenoip
Не спеши делать выводы
Отсутствие пинга не означает отсутствие подлючения к инету.
Автор: 2Polkan
Дата сообщения: 16.04.2006 08:16
люди... имеет смысл переходить с Делфи 7 на что-то более мощное? как я понял, делфи 2005 для .NET, это мне нафиг не надо... А 2006ой? Всё-таки Делфи 7 уже не продается даже...
Автор: ArtemiyUO
Дата сообщения: 16.04.2006 08:34
Я считаю стоит, если ПК позволяет ну и если ты не совсем консерватор. Я лично перешел, мне нравится. Кроме того и работает быстрей и среда и программы.
Автор: gpi
Дата сообщения: 16.04.2006 09:10
reenoip
Попробуй выкинуть INTERNET_CONNECTION_LAN +
Автор: SPeller
Дата сообщения: 16.04.2006 09:21
valerka78
Вариант 1: Мой комп соединён сеткой со вторым компом, то коннект есть, но интернета нет и небыло никогда.

Вариант2: Мой комп подключен ко второму, а второй, в свою очередь, является шлюзом, и раздает инет и мне. Коннект и инет есть.

Вопрос: Как в обоих случаях программно определить, есть интернет или нет?
Автор: RomanTim
Дата сообщения: 16.04.2006 10:09
2Polkan
Почитай страницу 95 - там reenoip спрашивал по поводу выбора версии делфи
Автор: SPeller
Дата сообщения: 16.04.2006 10:19

Цитата:
Всё-таки Делфи 7 уже не продается даже

Продаётся даже 5-я версия у реселлеров. При желании можно найти
Автор: DroN_S
Дата сообщения: 16.04.2006 15:30

Цитата:
При желании можно найти

а что искать то, заходишь на сайт borland'а, находиши линк и какчаешь, качаешь, качаешь
Автор: jsnjack
Дата сообщения: 16.04.2006 17:28
Есть текстовый файл. Как в какую-нить переменную загнать количество строк в этом файле?
Автор: ArtemiyUO
Дата сообщения: 16.04.2006 18:07
каким методом открываеш файл
Если AssignFile
то моджно сделать функцию возвр кол-во строк
count := 0;
while not eof(f) do
inc(count);
end;

а лучше забыть про эти функции и юзать спец классы, например TStringList.
там тебе и лоад, и коунстрок
var
s: tstringlist;
begin
s:= tstringlist.create;
s.loadfromfile('c:\file.txt');
s.count - кол-во сток
s.item[] - строка
s.free;
end;
Вообщем юзучай и юзай ВСЛ, его писали не дураки и написано там очень много хорошего.
Автор: reenoip
Дата сообщения: 16.04.2006 20:43
gpi, неа, друг, это не помогает. Выкидывал эти параметры поочерёдно, ещё когда ночью ковырялся в коде. Забыл просто в предыдущем своём посте написать о результатах этих экспериментов

Кстати, присоединяюсь к вопросу, который озвучил SPeller.
Автор: SPeller
Дата сообщения: 16.04.2006 22:50

Цитата:
Кстати, присоединяюсь к вопросу, который озвучил SPeller


А ещё может быть 3-й, самый козырный вариант - выход в инет через прокси, когда даже пинги не ходят.

Выход один - пробовать подключиться на порт 80 сайтов, которые наверняка не в лежачем состоянии и не заблокированы какими-нить политиками. Первое, что приходит в голову - microsoft.com. Попали на него - инет есть, не попали - скорее всего нет.
Автор: 0315
Дата сообщения: 17.04.2006 01:36
Подскажите пожалуйста, создаю в Delphi свой класс, сохраняю переменную этого класса в типизированный файл, в поле моей переменной огромный массив строк, а он создаёт файл размеров 4 Байта. Если пытаюсь грузить в новую переменную содержимое файла, грузится, но переменная пустая. Подскажите как сохранить всё содержимое переменной моего класса.

Добавлено:
К приложению подгружается DLL, в которой содержится отдельный класс, как в этом классе создать програмно форму, примерный текст кода:

var NewForm: TForm;
begin
NewForm:= TForm.Create(Fort);
NewForm.Parent:= ???

Что писать в поле Parent? или может так вообще не выйдет?
Автор: ShIvADeSt
Дата сообщения: 17.04.2006 04:52
0315

Цитата:
Подскажите пожалуйста, создаю в Delphi свой класс, сохраняю переменную этого класса в типизированный файл, в поле моей переменной огромный массив строк, а он создаёт файл размеров 4 Байта. Если пытаюсь грузить в новую переменную содержимое файла, грузится, но переменная пустая. Подскажите как сохранить всё содержимое переменной моего класса.

Телепаты в отпуске, код выгрузки в файл в студию.
Автор: SERGE_BLIZNUK
Дата сообщения: 17.04.2006 05:28
0315

Цитата:
а он создаёт файл размеров 4 Байта

Угу. Код выгрузки давай сюда. И не забудь описание своего типа привести.
А пока, телепатически ;-)), думаю, что Вы выгружаете в файл Указатель на экземпляр своего типа (класса) ...

Код: SizeOf(Form1)
Автор: SPeller
Дата сообщения: 17.04.2006 07:12
0315

Цитата:
создаю в Delphi свой класс, сохраняю переменную этого класса в типизированный файл, в поле моей переменной огромный массив строк, а он создаёт файл размеров 4

Потому что классовая переменная - это указатель. А указатели, как известно, занимают 4 байта. Чтобы сохранить содержимое класса в файл, лучше писать ручками. Если бы не использовались строки, то можно было бы записать в виде Stream.Write(Pointer(MyClass)^, MyClass.InstanceSize); . Но так как строки хранятся в динамически распределяемой памяти, при записи таким методом в файл запишутся тоже указатели на эти области. И при последующем чтении они будут указывать "вникуда". Поэтому - всё ручками.
Автор: OdesitVadim
Дата сообщения: 17.04.2006 11:35
0315
Но если хочеш как-то оптимизировать это сохранение (написать почти универсальный метод ), то необходимо использовать RTTI.
А вот тут есть даже компонент, который сохраняет класс в XML
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=465
Автор: valerka78
Дата сообщения: 17.04.2006 15:25

Цитата:
Выход один - пробовать подключиться на порт 80 сайтов, которые наверняка не в лежачем состоянии и не заблокированы какими-нить политиками.

Ну вот , я же говорил что пинг не решает
100% программной проверки наличия подлючения к инету, наверное, просто не существует, так что проверка конектом на хост самое то.
Автор: SPeller
Дата сообщения: 17.04.2006 16:52
Угу. Это давно извстно, но новичков всё тянет к RAS API и проверке на установленные сетевые подключения
Автор: JbBaDbot
Дата сообщения: 17.04.2006 17:47
Как сделать главное меню приложения прозрачным?

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Вероятность одинакового CRC32


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.