Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.16;
Скачать: CL | DM;

Вниз

Файл   Найти похожие ветки 

 
Bast   (2007-08-22 15:51) [0]

Здравствуйте! Есть прога допустим 123.exe она должна себе копировать на Диск Ц в папку программ файлес, но если я воспользуюсь функциекй copy то надо указывать имя проги т.е. copy(123.exe, c:\....), а как быть если у прога уже 312.exe ?


 
Сергей М. ©   (2007-08-22 15:53) [1]

Абракадабра какая-то)...


 
Bast   (2007-08-22 16:03) [2]

Есть программа 123.exe мне нужно чтобы она сама себя скопировала на диск Ц


 
Elen ©   (2007-08-22 16:05) [3]

Этой функе фсе равно что копировать. Так и указывай как сказал


 
Bast   (2007-08-22 16:06) [4]

Да, но если 123.exe переименовать в 321.exe то она уже не скорируется как быть?


 
Вася Правильный   (2007-08-22 16:20) [5]

Application.ExeName


 
Сергей М. ©   (2007-08-22 16:26) [6]


> если 123.exe переименовать в 321.exe то она уже не скорируется


Абракадабра ..


 
Bast   (2007-08-22 16:46) [7]

Пытаюсь сделать вот так:
CopyFile(Application.ExeName,"c:\test.exe",true);
Но выдает ошибку:
Build
 [Error] Unit1.pas(28): Incompatible types: "String" and "PAnsiChar"
 [Fatal Error] Project2.dpr(5): Could not compile used unit "Unit1.pas"


 
Сергей М. ©   (2007-08-22 16:53) [8]


> Bast   (22.08.07 16:46) [7]
>
> Пытаюсь сделать вот так


> выдает ошибку


И ?

Твои-то действия каковы в этой ситуации ?

Кроме трындёжа в форуме ?

Спрасвку ты уже проштудировал ?

Что--то в ней не понял ?

Что ?


 
wp2 ©   (2007-08-22 17:09) [9]

А разве можно просто так самого себя копировать без хакерских методов.

> [Error] Unit1.pas(28): Incompatible types: "String" and "PAnsiChar"
Бери словарь англо-русский (должен быть по-любому). И переводи.
"Несовместимые типы String и PAnsiChar"

Теперь головой думаем, что надо сделать чтобы они были совместимыми?

ПРАВИЛЬНО!

Привести к нужному типу.
CopyFile(PAnsiChar(Application.ExeName),"c:\test.exe",true);

Как будто раньше никогда не приходилось типы приводить....


 
wp2 ©   (2007-08-22 17:09) [10]

Эх, нету на вас С++ там бы вообще погрязли...


 
Bast   (2007-08-22 17:12) [11]

Какая функция переводит String в PAnsiChar? так понятнее?


 
Dib@zol ©   (2007-08-22 17:22) [12]

> [11] Bast   (22.08.07 17:12)

ROFL +1
Объяснено же ж уже!!! PANSIChar()!!! Можно кстати просто PChar()!


 
Bast   (2007-08-22 17:54) [13]

Всем спасибо


 
grisme ©   (2007-08-22 18:40) [14]

ну троян ведь небось :)


 
Anatoly Podgoretsky ©   (2007-08-22 19:16) [15]

> Bast  (22.08.2007 17:54:13)  [13]

Теперь дрожите мужики, сами напросились.


 
Bast   (2007-08-22 23:17) [16]

Нет, это не троян


 
DrPass ©   (2007-08-22 23:18) [17]


> Bast   (22.08.07 23:17) [16]
> Нет, это не троян

В руках "умелого" программиста любая программа может стать хуже трояна...


 
Bast   (2007-08-22 23:46) [18]


> В руках "умелого" программиста любая программа может стать
> хуже трояна...

:)))))))))))


 
wp2 ©   (2007-08-23 11:35) [19]

>Какая функция переводит String в PAnsiChar? так понятнее?

Хм, а ведь есть такая функция, только не помню как называется. Счас поисчу.
Ага. вот оно. StrPCopy

var PC: PChar;
begin
 StrPCopy(PC, Application.ExeName);
 CopyFile(PC, "c:\test.exe", true);
end;

вроде так.


 
wp2 ©   (2007-08-23 11:40) [20]

уточнение:

var PC: PChar;
begin
New(PC);
StrPCopy(PC, Application.ExeName);
CopyFile(PC, "c:\test.exe", true);
end;

Проверено в Турбо Pascal 7.1 :-)


 
wp2 ©   (2007-08-23 11:52) [21]

Я вот только не вдуплил, что должна возвращать функция StrPCopy?
Вроде тоже возвращает строку...

тогда можно записать

var PC: PChar;
begin
New(PC);
CopyFile(StrPCopy(PC, Application.ExeName), "c:\test.exe", true);
end;

тоже работает.
Вот только в примерах я нигде не видел, чтобы ее использовали как функцию.


 
wp2 ©   (2007-08-23 11:55) [22]

То я когда-то вроде отлаживал приведение типа PChar.
И что вы думаете я обнаружил, какой именно ассемблерный код?
А никакой! Там была проверка на длину строку (не нулевая ли), а потом return :-)

Вот вам и всё приведение типа... :-)


 
Leonid Troyanovsky ©   (2007-08-23 13:12) [23]


> wp2 ©   (23.08.07 11:35) [19]
> wp2 ©   (23.08.07 11:40) [20]
> wp2 ©   (23.08.07 11:52) [21]
> wp2 ©   (23.08.07 11:55) [22]

RTFM, RTFM & RTFM.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2007-08-23 15:10) [24]


> wp2 ©   (23.08.07 11:55) [22]

Это не приведение, а именно функция, кроме того ты код не до конца дочитал.


 
Anatoly Podgoretsky ©   (2007-08-23 15:10) [25]

Кстати в коде нет проверки длины, это ты выдумал.



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

Текущий архив: 2007.09.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.063 c
15-1187331871
Gydvin
2007-08-17 10:24
2007.09.16
Flatron F920B туфтовый монитор?


15-1184229560
evvcom
2007-07-12 12:39
2007.09.16
FMP (Феодосия Мастак Пати)


2-1187682566
em240
2007-08-21 11:49
2007.09.16
обработка строки


15-1187260847
oldman
2007-08-16 14:40
2007.09.16
Модераторы! Внимание!!!


6-1169218004
Vlad Oshin
2007-01-19 17:46
2007.09.16
Как отправить письмо самому себе клиентом по умолчанию?





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