Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

X-Program ПО, новости сайта и программирование в Delphi7


Информационный Канал Subscribe.Ru

Выпуск 5
Выпуск 6

Сегодня в выпуске:
Вопросы подписчиков
DHTML - что да как
Самый быстрый способ отчистки canvas в Delphi
Юмор

Сколько языков программирования Вы знаете?
Не знаю ни одного.
1
2
3
4
Более 4
Результаты

Вопросы подписчиков
#1
Вопрос
Здравствуйте!
Подскажите пожалуйста, с чего начать, и как можно сделать простецкую программку для для учета Интернет-трафика.
Как можно сделать, так, чтобы программа считала отправленные/принятые Мбайты, ну и по ходу дела, во время работы переводила все это в рубли?
Буду очень рад, любой помощи.
Александр
Ответ
Здравствуйте!
Вопервых нужно узнать подкльчен ли PC к Internet. Делается это просто:
1 способ.
{...}
function InetIsOffline(Flag: Integer): Boolean; stdcall; external 'URL.DLL';
{...}
if InetIsOffline(0) then
ShowMessage('Вы в internet') // Функция возвращает true, если вы подключены к интернету.
else
ShowMessage('Вы не в internet'); // В обратном случае false.
2 способ.
{...}
const INTERNET_CONNECTION_MODEM = 1;
INTERNET_CONNECTION_LAN = 2;
INTERNET_CONNECTdState';
{...}
procedure TForm1.Button1Click(Sender: TObject);
var
dwConnectionTypes: DWORD;
begin
dwConnectionTypes:=IC_MODEM+IC_LAN+IC_PROXY;
if InternetGetConnectedState(@dwConnectionTypes,0) then
ShowMessage('Вы в internet')
else
ShowMessage('Вы не в internet');
end;
Далее, нужно узнать сколько байт скачено и отправлено. (НЕЗНАЮ ' :-((( ' )
Далее, переведём всё это в рубли:
Если знаем сколько байт оправлено, то просто умножаем на кол-во рублей за байт.
Если выходим в интернет по карте, то умножаем время проведённое в internet на кол-во рублей за 1 секунду.
P.S.
Подключение к internet:
1 способ
function RasMakeDialupConnection(const EntryName: string): Boolean;
var
dwRet: Dword;
DialParams: TRasDialParams;
hRas: HRASCONN;
bPwd: Boolean; // was the password retrieved
begin
uLastErr := 0; // Prepare dial parameters
FillChar(DialParams, SizeOf(DialParams), 0);
DialParams.dwSize := SizeOf(DialParams);
StrPLCopy(@(DialParams.szEntryName[0]), EntryName,
SizeOf(DialParams.szEntryName));
hRas := 0; // must do that before calling RasDial
// Try to retrieve user name/passowrd.
// We continue even if RasGetEntryDialParams returns error, because
// in next call RasDial will just try with empty user name/password
bPwd := False;
RasGetEntryDialParams(nil, @DialParams, bPwd);
// Call RAS API. In this particular case RasDial will not return until
// the connections is established or failed to establish.
dwRet := RasDial(nil, nil, // no dial extensions, default phonebook
DialParams,
0, // ignored here
nil, // do not use callback - the call is synch
hRas); // receives connection handle
Result := dwRet = 0; // Connection failed... if not Result then begin
// In some cases hRas may be non-zero and the connection port
// is still opened. It is a Windows semi-bug/semi-feature.
// So I must try to close
if hRas <> 0 then
RasHangupConnection(hRas);
// RasHangup may reset uLastErr, but we need the value // returned from RasDial
uLastErr := dwRet;
end;
end;
2 способ
function DialProvider(connection: string): boolean;
// connection - имя учетной записи
var
pars: TRasDialParams;
hRas: ThrasConn;
r: integer;
begin
hRas := 0;
strpcopy(pars.szEntryName, connection); // имя учетной записи
pars.szPhoneNumber := ''; // номеp телефона - по умолчанию
pars.szcallbacknumber := ''; // callback нам не нужен
pars.szUserName := ''; // логин - по умолчанию
pars.szPassWord := ''; // паpоль - по умолчанию
pars.szDomain := ''; // аналогично с домейном
pars.dwSize := Sizeof(TRasDialParams); // вычисляем pазмеp записи
r := rasdial(nil, nil, pars, 0, nil, hRas); // звоним
if r <> 0 then
begin // если что-то неполучилось, то
rasHangUp(hRas); // сбpасываем соединение
result := false; // ф-ция тепеpь веpнет false
end
else
result := true; // а если все ок - то true.
end;
Больше не чем помочь не могу (к сожалению).
ADMIN
#2
Вопрос
Здравствуйте!
Подскажите пожалуйста, как сделать в Delphi не прямоугольную форму, а какую-нибудь «узорную»? Как это делается? И с чего надо начинать?
Александр
****
Ответить можно заполнив форму (В теме указывайте номер вопросы):
Имя:
Тема:
Сообщение:
***
DHTML - что да как
C помощью динамических стилей вы можете менять любое визуальное свойство объекта - цвет, размер, видимость и многое другое. Производить эти операции легко с помощью Script языков, в нашем случае это будет JScript. Сделаем стили динамическими Динамический - означает изменение свойcтв в реальном времени, например при совершении какого-либо события. События - это ядро любых современных языков программирования. Следующая строчка, вставленная в стандартное ядро HTML страницы заставляет объект заголовка изменить свой цвет, когда пользователь наведет на него мышь.
<H1 onmouseover="this.style.color='red';">Эта строка покраснеет</H1>

Эта строка покраснеет

Этот простой пример иллюстрирует доступ к свойству color элемента H1. Все действие, собственно, происходит в выражении onmouseover="this.style.color='red'"; Это выражение языка JScript означает, что при происхождении события onmouseover объект, с которым произошло событие (this-это), его множество style и свойство в этом множестве - color должно поменять свое значение на 'red'. (Заметьте, что red пишется в одинарных кавычках. Это значит, что red - символьная строка, а не какая-нибудь переменная) Чтобы при выходе из зоны объекта, он снова менял свой цвет, например обратно, используйте событие onmouseout.
<H4 onmouseover="this.style.color='red';" onmouseout="this.style.color='black';"> Эта строка динамически изменяет свой цвет </H4>

Эта строка динамически изменяет свой цвет

Эта строка специально, чтобы вы убедились Можете попробовать использовать событие onclick, которое происходит при щелчке мыши на объекте. Теперь, вы можете реально использовать этот момент, например в ссылках. Добавьте приведенный выше код к объекту . Установка стиля объекта Мы научились динамически изменять стили. Но это еще не самая главная возможность, предоставляемая DHTML. А что, если вам не нравится стандартный стиль оформления страницы, который использует Internet Explorer? Почему ссылки всегда должны иметь синий цвет, а шрифт размер в 16 пикселей? Нельзя ли как-нибудь изменить это? Можно! И нужно! Если вы хотите, чтобы ваши страницы отличались от множеста других, выделялись чем-то необычным и максимально действовали на восприятие их посетителя, используйте нестандартные стили! Но это не значит, что вы должны все свои сообщения писать кислотно желтым цветом, тут уж дело вкуса, главное то, что Dynamic HTML дает возможность использовать свою фантазию, предоставляя богатейший набор возможностей. Так как же установить нестандартный стиль объекта? Прежде всего через свойство STYLE. Посмотрите:
<H2 style="color: green; cursor: hand">Наведи на меня мышь</H2>

Наведи на меня мышь

Эта строка будет выводить на экран объект зеленого цвета, причем курсор, при наведении на него будет изменять свой вид на "руку", которая обычно сигнализирует то, что этот объект можно "щелкнуть". Здесь, объекту были установлены два свойста, подобным образом можно менять все свойства, которые поддерживает объект.Например:
<H2 style="font-size: '20px'; font-weight: bold; cursor: size; background-color: lightgrey"> Это пример использования стилей </H2>

Это пример использования стилей

Классы Стили можно устанавливать не только таким образом. Очень удобно использовать для установления стилей объектов классы. Под классом здесь подразумевается набор неких свойств и их значений, объединенный в один класс. Классу присваивается имя, а затем весь этот набор свойств можно установить для какого-либо конкретного объекта. Это очень удобно, если, например, у вас имеется несколько ссылок и для каждой из них надо установить красный цвет текста и нежно-голубой цвет фона, а также жирный шрифт, то не надо мучать себя и набивать каждый раз эти установки в свойстве Style каждого объекта, сделайте следующим образом:
<HTML>
<HEAD>
<STYLE>
.myStyle {color: red; background-color: lightblue; font-weight: bold}
</STYLE>
</HEAD>
<BODY>
<!-- ... Какой-то код >
<A HREF="gotonowhere.html" CLASS=myStyle>Ссылка с применением класса</A>
<!-- ... Еще какой-то код>
</BODY>
</HTML>

http://subscribe.ru/
http://subscribe.ru/feedback/
Адрес подписки
Отписаться

В избранное