Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2008, 15:21   #11
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

если делфи юзаешь, попробуй компоненты kol+msk (вроде так пишется).
vvviperrr вне форума Ответить с цитированием
Старый 22.05.2008, 15:26   #12
dx+
Пользователь
 
Аватар для dx+
 
Регистрация: 08.05.2008
Сообщений: 26
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Скинь исходник, любопытно глянуть на это маленькое чудо.

Вот это "чудо" и еще есть файл помощи там текста мало + Jpeg гдето на 15кб.

unit Alkar;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
Taw = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Timer1: TTimer;
Label9: TLabel;
HelpBotton: TButton;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure HelpBottonClick(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;

var
aw: Taw;

implementation

uses HelpUnit;

{$R *.dfm}

procedure Taw.Button1Click(Sender: TObject);
var
r:array[1..10] of real;
a,b,z : integer;
x,y,n1,n2 : real;
Strob: string;
begin
Strob:= Edit1.Text;
b:= Length(Strob);
DecimalSeparator := '.'; // ось тут була собака зарита!
for z:=1 to 9 do
begin
Label9.Caption:='';
a:= pos(' ',Strob); // запис позицiї ' ' до "a"
b:=b-a; // пошук останьої позицiї
try
r[z]:=StrToFloat(copy(Strob,1,a-1)); // запис в ячейки для складання
except
Label9.Caption:='НЕВЕРНО ВВЕДЕНЫ ДАННЫЕ';
end;
Delete(Strob,1,a);
end;
r[10]:= StrToFloat(copy(Strob,1,b));

x:= r[2]+r[3]+r[7]+r[8]; // пiдрахунок зовнiшнього
y:= r[4]+r[5]+r[9]+r[10]; // пiдрахунок локального
n1:= StrToFloat(Edit2.Text)*1000.0; //перевод гб/мб
n2:= StrToFloat(Edit3.Text)*1000.0; //
label3.Caption :=FloatToStr(n1)+' - '+ FloatToStr(x)+' = '+ FloatToStrF((n1-x),ffFixed, 10, 2); //вивод результата зовнiшн.
label4.Caption := FloatToStr(n2)+' - '+ FloatToStr(y)+' = '+ FloatToStrF((n2-y),ffFixed, 10, 2); // вивод результата локал.

if n1-x <0 then Label7.Caption:='Перебор!!!'
else Label7.Caption:='' ;

if n2-y <0 then Label8.Caption:='Перебор!!!'
else Label8.Caption:='' ;


end;


procedure Taw.Timer1Timer(Sender: TObject);
begin


if Label7.Font.Color=clRed then
Label7.Font.Color:=clSkyBlue
else
Label7.Font.Color:=clRed;

if Label8.Font.Color=clRed then
Label8.Font.Color:=clSkyBlue
else
Label8.Font.Color:=clRed;

if Label9.Font.Color=clRed then
Label9.Font.Color:=clSkyBlue
else
Label9.Font.Color:=clRed;


end;

procedure Taw.HelpBottonClick(Sender: TObject); // Вiкно допомоги
begin
About.ShowModal;
end;



procedure Taw.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then Button1Click(Sender) ; // Клавiша Enter
end;

end.
dx+ вне форума Ответить с цитированием
Старый 22.05.2008, 15:44   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А что должна делать программа?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.05.2008, 15:53   #14
dx+
Пользователь
 
Аватар для dx+
 
Регистрация: 08.05.2008
Сообщений: 26
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А что должна делать программа?
к провайдеру от провайдера
общий бизнес локальный общий бизнес локальный

День Ночь День Ночь День Ночь День Ночь

92.24 40.28 46.06 3.34 3.00 891.22 299.59 456.44 78.23 62.23
(Эта строка вставляется в Edit)


Программа для подсчета ADSLтрафика провайдера Алькар.
(или "Оптима Телеком", кому как удобней называть)
Выбрав Временной интервал c дня начала действия Вашего тарифного плана затем
скопировать последнюю итоговую строку в таблице статистики и вставить в окно
ввода программы.

Нажать кнопочку "Считать".
В зависимости от вашего тарифного плана вы можете менять объем внешнего
и локального трафика в окошках справа.




сама она здесь http://dl5.ibox.org.ua:8080/12/113603/Alkar1.exe
dx+ вне форума Ответить с цитированием
Старый 22.05.2008, 16:50   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну приблизительно кил 6 прога на АПИ схавает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.05.2008, 17:51   #16
dx+
Пользователь
 
Аватар для dx+
 
Регистрация: 08.05.2008
Сообщений: 26
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну приблизительно кил 6 прога на АПИ схавает.
Значит будем осваивать АПИ
З.Ы. щас читаю про KOL и MCK ...
dx+ вне форума Ответить с цитированием
Старый 23.05.2008, 10:12   #17
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Бредовая затея, если хотите писать малые программы пишите на чистом апи, язык не важен. А то хотят все удобства и чтобы весила мало.

p.s. Кстати я не считаю что 500кб это много. У провайдера Алькар такой медленный инет? Или у всех пользователей программы жесткий диск на 1.5 ГБ? В чем тогда причина?
Если учесть все плюсы в разработке программы к-рые дает VCL, размер exe не такой уж большой минус.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 23.05.2008 в 10:23.
mutabor вне форума Ответить с цитированием
Старый 23.05.2008, 12:11   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
dx+
Э-э-э я тут (помидорами не кидать!!!) заинтересовался твоей задачей потому как ассемблер потихоньку изучаю, вот и решил что практика лучший учитель.
В общем покурив мануалы и потыкав MASM пришел к следующему результату:
Код:
;_______________
arr				TBYTE 10 dup (0)
res1            dd  0
res2		    dd 0
txt				db 100 dup (0);"92.24 40.28 46.06 3.34 3.00 891.22 299.59 456.44 78.23 62.23 0$";
txt2			db 100 dup(0)
dig				db 3
cnt				db 0
;----------------------
.code
.................
a1 proc
   mov edi, offset txt
 .while byte ptr [edi]!='$'
  .if  byte ptr [edi]==' '
   mov  byte ptr [edi],0
   inc [cnt]
  .endif
  inc edi
 .endw

 mov edi,offset txt
 mov esi,offset arr
 .while byte ptr [cnt]!=0
  invoke FpuAtoFL, edi, esi, DEST_MEM
  mov eax,esi
  add eax,10
  mov esi,eax
  xor eax,eax
  repne scasb
  dec [cnt]
 .endw
 ;
  mov eax, offset arr
  add eax,10;2
  fld TBYTE ptr [eax]
  add eax,10  ;3
  fld TBYTE ptr [eax]
  add eax, 30  ;6
  fld TBYTE ptr [eax]
  add eax, 10   ;7
  fld TBYTE ptr [eax]

  fadd st(0), st(1)
  fadd st(0), st(2)
  fadd st(0), st(3)
  invoke FpuFLtoA,0,3,addr txt2,SRC1_FPU or SRC2_DIMM
  invoke GetForegroundWindow
  invoke MessageBoxA,eax,addr txt2,0,1
 ;
 ret
a1 endp
Сама процедура рассчета "пiдрахунок зовнiшнього" называется тут a1
Она парсит строку и суммирует месные r[2]+r[3]+r[7]+r[8];

Если интересно выкладываю сюда сам EXE он всего 5632 байт, его только распаковать раром нуна. И сам исходник.

P.S. Если кому не лень прокомпилить код автора выше приведенный и сказать сколько тот будет весить, потом убрать из него все кроме рассчета "пiдрахунок зовнiшнього", и тоже сказать сколько вес получится.
Вложения
Тип файла: rar r1.rar (2.3 Кб, 10 просмотров)
Тип файла: txt r1.txt (5.0 Кб, 109 просмотров)
I'm learning to live...

Последний раз редактировалось Stilet; 23.05.2008 в 12:14.
Stilet вне форума Ответить с цитированием
Старый 23.05.2008, 13:57   #19
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Скомпилить нетрудно, но не совсем понятно что убрать, а что оставить.
Код весь убрать нельзя, переменные задействованы. Компоненты убирать или только код, если код, то какой?
В D5 в полном виде exe весит 304кб, в D7 - 377кб.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 23.05.2008, 14:02   #20
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну в общем да, каши многовато, ну все равно:
АСМ - 6 кил
WIN API - 16..17 кил

Все трактует в пользу асма )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как уменьшить размер PNG изображения? highklass Мультимедиа в Delphi 5 31.05.2008 16:24
Как изменить размер пакетов чтобы уменьшить исходящий трафик lubopit Операционные системы общие вопросы 1 21.02.2008 18:09
уменьшить размер БД MS Access Кот из Лета БД в Delphi 7 30.12.2007 13:51
размер файла мандарин Общие вопросы Delphi 4 06.05.2007 17:22