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

Вниз

Советы по Дельфи   Найти похожие ветки 

 
AL2002   (2002-08-20 16:15) [0]

Здрасьте, господа программисты.
Какие бы советы вы дали начинающим программистам? И не только начинающим.
Например: чтобы быстро переключаться между юнитом и формой, надо жать F12; чтобы вывести список форм, надо нажать Shift+F12; компилировать проект – Ctrl+F9; и т.д.

Вот, примерно, такое. Есть у вас что посоветовать?


 
France   (2002-08-20 16:18) [1]

Да ты спрашивай, чего надо! Народ найдет!


 
Кулюкин Олег   (2002-08-20 16:20) [2]

Я бы посоветовал почитать раздел хелпа под названием "Key Mappings".


 
AL2002   (2002-08-20 16:22) [3]

>France (20.08.02 16:18)
>Да ты спрашивай, чего надо! Народ найдет!
Спрашиваю: знаешь чё-то про то, как работать с Дельфи, чего другие не знают?



 
AL2002   (2002-08-20 16:25) [4]

>Кулюкин Олег © (20.08.02 16:20)
>Я бы посоветовал почитать раздел хелпа
Кстати, хороший совет.



 
France   (2002-08-20 16:27) [5]

О брат, я не знаю, чего другие не знают. Если знаю ответ на конкретный вопрос - отвечаю, если нет - то молчу или открыто говорю что не знаю.


 
AL2002   (2002-08-20 16:31) [6]

>France (20.08.02 16:27)
Значит, вопрос не к тебе. А жаль. Ты, наверное, много знаешь, но, пока тебя не прижать, не расскажешь. :)


 
France   (2002-08-20 16:39) [7]

> AL2002
хорошо. даю совет. F11 скрывает и показывает Инспектор объектов.
годится.

а теперь ситуация. совет я дал. а если ты это и так знал? значит, я зря надрывался. и каждый так на моем месте. прикольно будет получить 100 советов про F11? прямо сейчас. извини, если показалось, что я был груб.


 
RV   (2002-08-20 16:47) [8]

Вот где-то надыбал как, например, можно использовать архиватор рар в своих прогах.
требуется unrar.dll

а вообще-то да, глупо сюда кучей валить все подряд

// Объявления
function RAROpenArchive(ArchiveData : Pointer): Integer; stdcall;
external "unrar.dll" name "RAROpenArchive";

function RARCloseArchive(hArcData : Integer): Integer; stdcall;
external "unrar.dll" name "RARCloseArchive";

function RARReadHeader(hArcData : Integer; HeaderData : Pointer): Integer; stdcall;
external "unrar.dll" name "RARReadHeader";

function RARProcessFile(hArcData : Integer; Operation : Integer; DestPath : Pointer;
DestName : Pointer): Integer; stdcall;
external "unrar.dll" name "RARProcessFile";


const

ERAR_END_ARCHIVE = 10;
ERAR_NO_MEMORY = 11;
ERAR_BAD_DATA = 12;
ERAR_BAD_ARCHIVE = 13;
ERAR_UNKNOWN_FORMAT = 14;
ERAR_EOPEN = 15;
ERAR_ECREATE = 16;
ERAR_ECLOSE = 17;
ERAR_EREAD = 18;
ERAR_EWRITE = 19;
ERAR_SMALL_BUF = 20;


RAR_OM_LIST = 0;
RAR_OM_EXTRACT = 1;
RAR_SKIP = 0;
RAR_TEST = 1;
RAR_EXTRACT = 2;
RAR_VOL_ASK = 0;
RAR_VOL_NOTIFY = 1;


type

Char260 = Array [1..260] of Char;


TRAROpenArchiveData = record
ArcName : PChar; // в C++ это будет выглядеть как: char *ArcName
OpenMode : Cardinal;
OpenResult : Cardinal;
CmtBuf : PChar;
CmtBufSize : Cardinal;
CmtSize : Cardinal;
CmtState : Cardinal;
end;


TRARHeaderData = record
ArcName : Char260;
FileName : Char260;
Flags : Cardinal;
PackSize : Cardinal;
UnpSize : Cardinal;
HostOS : Cardinal;
FileCRC : Cardinal;
FileTime : Cardinal;
UnpVer : Cardinal;
Method : Cardinal;
FileAttr : Cardinal;
CmtBuf : PChar;
CmtBufSize : Cardinal;
CmtSize : Cardinal;
CmtState : Cardinal;
end;


var

RARExtract : boolean;
RAROpenArchiveData : TRAROpenArchiveData;
RARComment : array [1..256] of Char;
RARHeaderData : TRARHeaderData;

...

procedure ExtractRARArchive;
var

sDir : string;
s : string;
sTest : string;
iTest : integer;
bTestDone : boolean;
RARhnd : Integer;
RARrc : Integer;
PDestPath : Char260;

begin

RARExtract:=TRUE;
lKBWritten:=0;
ProgressBar2.Position := 0;
ProgressBar2.Max := lTotalSize;
RARStartTime:=Time;


RAROpenArchiveData.OpenResult:=99;
RAROpenArchiveData.OpenMode := RAR_OM_EXTRACT; // открываем для распаковки
RAROpenArchiveData.ArcName:= @RARFileName;
RAROpenArchiveData.CmtBuf := @RARComment;
RAROpenArchiveData.CmtBufSize := 255;

// Открываем RAR архив и выделяем память

RARhnd := RAROpenArchive (@RAROpenArchiveData);
If RAROpenArchiveData.OpenResult <> 0 then
begin
case RAROpenArchiveData.OpenResult of
ERAR_NO_MEMORY : s:="Not enough memory to initialize data structures";
ERAR_BAD_DATA : s:="Archive header broken";
ERAR_BAD_ARCHIVE : s:="File is not valid RAR archive";
ERAR_EOPEN : s:="File open error";
end;
MessageDlg("Unable to open rar archive: " + s + "!",mtError, [mbOK], 0);
end;


RARSetProcessDataProc(RARhnd,@Form.OnRarStatus);
StrPCopy(@PDestPath, EInstallPath.Text);


repeat
RARrc := RARReadHeader (RARhnd, @RARHeaderData);// Читаем заголовок
if RARrc <> ERAR_END_ARCHIVE then
begin
ProgressBar1.Position := 0;
ProgressBar1.Max := RARHeaderData.UnpSize;
s:=RARHeaderData.FileName;
lblCurrentFile.Caption := s;
lKBytesDone := 0;
end;


if RARrc = 0 then
RARrc:=RARProcessFile (RARhnd, RAR_EXTRACT, @PDestPath, nil);
if (RARrc <> 0) and (RARrc <> ERAR_END_ARCHIVE) then
begin
MessageDlg("An Error occured during extracting of " + sTest+"!" + #13#10 +
"RARProcessFile: " + MakeItAString(RARrc),mtError, [mbOK], 0);
end;
until RARrc <> 0;

// закрываем RAR архив и освобождаем память

If RARCloseArchive(RARhnd) <> 0 then
begin
MessageDlg("Unable to close rar archive!",mtError, [mbOK], 0);
end;
end; // ExtractRARArchive


 
AL2002   (2002-08-20 17:06) [9]

>RV © (20.08.02 16:47)
Да. Это много.

Я просто хотел, если советов наберётся много, сделать раздел Delphi Tips&Tricks. Вот. Ну и ессно, авторов этих советов тоже указать.

Если кому интересно, зайдите:
http://www.adelavida.com.ua/Tips&Tricks.php


 
Anatoly Podgoretsky   (2002-08-20 17:11) [10]

F9 компилирует и запускает откомпилированный проект


 
RV   (2002-08-20 17:13) [11]

ctrl-f9 только компилирует


 
RV   (2002-08-20 17:14) [12]

alt+shift+курсор выделяет вертикальными блоками


 
Виктор Щербаков   (2002-08-20 17:25) [13]

Anatoly Podgoretsky © (20.08.02 17:11)
Нельзя так жестоко. Я ж чуть со стула не упал :)))))))))


 
AL2002   (2002-08-20 17:32) [14]

>alt+shift+курсор выделяет вертикальными блоками
Однако! Буду знать.


 
Mike B.   (2002-08-20 17:37) [15]

Ctrl-Alt-Del снимает потребность в получении советов


 
AL2002   (2002-08-20 17:40) [16]

>Mike B. © (20.08.02 17:37)
Наверное, ты ветку перепутал.


 
Mike B.   (2002-08-20 17:42) [17]

> AL2002 ©
Почему? :-)


 
Jeer   (2002-08-20 17:57) [18]

Двойной клик на слове - выделяет слово.
^Пробел на слове выдает перечень методов и свойств


 
AL2002   (2002-08-20 18:03) [19]

>Mike B. © (20.08.02 17:42)
>> AL2002 ©
>Почему? :-)
Такой постинг как раз в "ветку для дебилов". :))))))))))

Совет:
Ctrl+Клик по переменной или функции – перенесёт в место объявления этой переменной/функции.



 
AL2002   (2002-08-20 18:29) [20]

>RV © (20.08.02 17:14)
>alt+shift+курсор выделяет вертикальными блоками
А мышей если — то одним альтом.


 
RV   (2002-08-20 18:31) [21]

AL2002 © (20.08.02 18:29)
>RV © (20.08.02 17:14)
>alt+shift+курсор выделяет вертикальными блоками
А мышей если — то одним альтом.


логично


 
AL2002   (2002-08-20 18:45) [22]

>логично
Ну мало ли..... 8-(


 
McSimm   (2002-08-20 19:01) [23]

>Ctrl+Клик по переменной или функции – перенесёт в место объявления этой переменной/функции.
Alt + стрелка влево/вправо - переход вперед/назад по этим местам(история перемещений)

Ctrl+Shift+U
Ctrl+Shift+I
Смещение выделенного блока вправо/влево на таб.отступ


 
MSAlex   (2002-08-20 19:16) [24]

А с чего можно начать изучение встроеного ассемблера в делфи?


 
Игорь Шевченко   (2002-08-20 19:20) [25]

MSAlex © (20.08.02 19:16)

С изучения невстроенного.


 
Voldemar   (2002-08-20 21:49) [26]

>Jeer © (20.08.02 17:57)
...
^Пробел на слове выдает перечень методов и свойств

А полезная ветка, я вот не знал...



 
France   (2002-08-21 08:57) [27]

А пробовал ли кто-нибудь, как компененту на форму без мыши затащить?


 
AL2002   (2002-08-21 10:04) [28]

>France (21.08.02 08:57)
Можно?


 
ЮЮ   (2002-08-21 10:38) [29]

View | Component List
Add To Form


 
Jeer   (2002-08-21 10:41) [30]

Нажать на Shift и выбрать компонент на палитре.

После этого каждый клик на форме добавляет компонент
****************************************************
Кому хочется превратить Delphi в "мерс" установите Code Rush от Eagle Software http://www.eagle-software.com/


 
kalenih   (2002-08-21 10:57) [31]

Вот уж точно , что Franc"а прижать надо!!!!!!!!



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

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

Наверх





Память: 0.52 MB
Время: 0.007 c
4-51024
Cobalt
2002-07-20 12:08
2002.09.16
Глючит RegEnumValues


1-50801
DiHLoS
2002-09-03 16:59
2002.09.16
Как развернуть TTreeView?


14-50940
VictorT
2002-08-21 13:05
2002.09.16
Описание функции gethostbyaddr


1-50847
FireStream
2002-09-04 15:10
2002.09.16
Странные глюки с размерами


1-50670
AndbyOne
2002-09-04 11:53
2002.09.16
Быстрый поиск в Tree по значению TPointer





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский