Вопрос № 23733: Привет всем экспертам!
У меня к Вам 3 вопроса, надеюсь на все получить ответы.
1) Как в Memo установить курсор на определенную строку. Пробовал Memo1.CaretPos.X:= blabla, но нельзя. Так как мне установить курсор на нужную строку ?
2) Здес...Вопрос № 23738: Здраствуйте уважаемые эксперты, у меня такая задача: телефон siemens m55 подключен через com3 порт, дайте пожалуйста пример (исходного кода) , как можно послать на этот порт AT команду (любую), только обясните чтобы было понятно и начинаещему ;)
...Вопрос № 23764: Привет Эксперты.
Подскажите пожалуйста, как работать с Socket`ами. Точнее как собрать сервер, как открыть порт на прослушивание? (Про клиент я знаю).
Пробовал искать в Internet`е, но ничего подходящего не нашел :(
Поэтому подскажите plz. ...Вопрос № 23772: Здравствуйте!
Разбиваю текстовый файл на нужное колличество строк (в Memo)
и сохраняю его в нескольких файлах.
Понял, что в RichEdit будет лучше так как открывает большое колличество строк.
Вопрос.
1.Как переделать с Memo на Ric...
Вопрос № 23.733
Привет всем экспертам!
У меня к Вам 3 вопроса, надеюсь на все получить ответы.
1) Как в Memo установить курсор на определенную строку. Пробовал Memo1.CaretPos.X:= blabla, но нельзя. Так как мне установить курсор на нужную строку ?
2) Здесь недавно обсуждали MSAgent, ну я тоже захотел попробовать это добавить в программу. Все нормально, НО... текст выводится очень долго. Выводится 1 слово, потом пауза, затем 2 слово, пауза и т.д. Может кто знает как убрать паузу?
3) Слышал, что есть удаленная работа, кто-нибудь сталкивался с этим? Было бы не плохо дома сидеть и подрабатывать. Какой никакой опыт, а если повезет, то и заработать можно. Так, реально ли это, или стоит забыть это дело.
Вот, жду ответов.
Заранее спасибо.
Отправлен: 19.07.2005, 19:00
Вопрос задал: Andy r00t (статус: Посетитель)
Всего ответов отправлено: 3
Отвечает: Denisss
Здравствуйте, Andy r00t!
Ответ на первый вопрос смотрите в приложении. (Не совсем корректный, на мой взгляд, но работает)
По поводу MSAgent - (если я не ошибаюсь, это "ассистент" из набора офиса) http://www.delphiarea.com/products/assistant/ - готовый компонент. Я думаю, что за столь долгое время разработки, этот агент избавился от многих глюков и тормозов, остается только воспользоваться им :)
На третий вопрос ответить не могу - не сталкивался еще. ;)
Приложение:
Ответ отправил: Denisss (статус: Студент)
Отправлен: 19.07.2005, 20:16 Оценка за ответ: 5 Комментарий оценки: Спасибо
Отвечает: Gin
Здравствуйте, Andy r00t!
1. Попробуйте - Номер строки.SetFocus;
2. У Вас, наверное, попались ленивые Агенты (такое случается) ;). Если Вы пользуетесь таймером - выбросте его. Используйте Sleep. Смотрите пример:
Подставляя время засыпания можно сделать так что Агент будет тараторить без умолку.
3. Слышал. Осмелюсь догадаться - Вы как и я не программист. Верно? Если так то ловить нечего (по крайней мере то что нашел я). Предлогаемый заработок едва ли перекроет затраты на интернет, а жесткая привязка по обязательствам (с Вашей стороны, но не с платильщика) врядли даст Вам возможность чувствовать себя свободным по времени. Это что касается простой работы.
Статьи Вы писать явно не будите.
Кодингом заниматься тоже.
В общем остается поиск и рассылка спама. Но тут следует задуматься - давно ли Вы получали по морде (и в прямом и в переносном смысле)? Да, да. Пусть не физически, но забьют так что и в интернет не выйдете (в случае если не умеете скрывать свои следы).
С Уважением, Gin.
Ответ отправил: Gin (статус: Студент)
Отправлен: 19.07.2005, 21:32 Оценка за ответ: 5 Комментарий оценки: 1) Т.е. Memo1.номер_строки.SetFocus - нет, не работает. Проверил бы сначала. 2) Вообще-то, я написал, что знаю как этим агентом пользоваться. И код у меня примерно такой же, но я попробывал этот. Результат - агент тормозит, т.е. говорит он с паузами. P.S. Таймера у меня нет, и Sleep`а тоже. 3) Не совсем правильно догадался :) Я программер, даже диплом есть
"Техник-программист", пока окончил колледж. Сейчас поступаю в ВУЗ. Так что, ошибся ты в выводах. Но статьи писать я правда не буду :). А насчет кодинга... (ясно, надеюсь) Ну а спам, это не для меня.
Отвечает: VBA
Здравствуйте, Andy r00t!
Memo1.CaretPos.X - это не строка, а позиция символа в строке.
Memo1.CaretPos.Y - вот это строка!!!
--------- Неправ вечно юзер, ибо прав всегда Админ!
Ответ отправил: VBA (статус: 5-ый класс)
Отправлен: 20.07.2005, 11:17 Оценка за ответ: 3 Комментарий оценки: Это оЧеПятка. Хотя все равно, что X, что Y, это не работает. вообщем ответа не получил :(
Вопрос № 23.738
Здраствуйте уважаемые эксперты, у меня такая задача: телефон siemens m55 подключен через com3 порт, дайте пожалуйста пример (исходного кода) , как можно послать на этот порт AT команду (любую), только обясните чтобы было понятно и начинаещему ;)
p. s. Я читал похожий вопрос про sony ericsson но ничего не понял :(
Отправлен: 19.07.2005, 22:05
Вопрос задал: Станислав (статус: 1-ый класс)
Всего ответов отправлено: 1
Отвечает: And1
Здравствуйте, Станислав!
Вы скорее всего знаете программу SiMoCo, вот там во вкладке Term выводятся все команды, которые прога посылает мобиле... поиграйся с ними (через дистанционное управление) и увидешь всё что послано мобиле...
А посылать команды на определённый порт можно с помощью специального компонента..., если нужен пиши на мыло: root@realcoder.com.ru, вышлю.
P.S. У меня самого Siemens M55, и я пытался написать нечто похожее, но нужно ещё как-то сконнектить трубку с компом, что бы она ожидала команд, а для разных целей это делается по разному... (патчинг, DES и др.), вообщем если есть время и нервы то попытаться стоит, а так это всё бессмысленно... (Надеюсь, я Вас не отпугнул)
Удачи!
Ответ отправил: And1 (статус: 3-ий класс)
Отправлен: 23.07.2005, 10:05 Оценка за ответ: 5
Вопрос № 23.764
Привет Эксперты.
Подскажите пожалуйста, как работать с Socket`ами. Точнее как собрать сервер, как открыть порт на прослушивание? (Про клиент я знаю).
Пробовал искать в Internet`е, но ничего подходящего не нашел :(
Поэтому подскажите plz. Хотелось бы и исходник посмотреть :)
Приложение:
Отправлен: 20.07.2005, 14:44
Вопрос задал: Andy r00t (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: Bochvarov NikB
Здравствуйте, Andy r00t!
http://www.delphimaster.ru/articles/sockets/index.html
И возле :)
Ответ отправил: Bochvarov NikB (статус: 4-ый класс)
Отправлен: 20.07.2005, 16:46 Оценка за ответ: 4 Комментарий оценки: Спасибо, конечно за ссылку. Но я просил исходники для работы с Socket`ом, (не используя компоненты)
Отвечает: Werewolf
Здравствуйте, Andy r00t!
примерно так
uses winsock...
procedure TForm1.Button1Click(Sender: TObject);
var wsadata:TWSAData;
version,Port:word;
er,i,bytesSent,bytesRecv:integer;
sock,AcceptSocket:TSocket;
sin:sockaddr_in;
sendbuf,recvbuf:String[32];
const knownver:array[0..3,0..1] of byte = ((2,2),(2,0),(1,1),(1,0));
begin
memo1.Lines.Clear;
bytesRecv:= SOCKET_ERROR;
sendbuf := 'Строка от сервера.';
for i:=0 to 3 do begin
version:=MakeWord(knownver[i,0],knownver[i,1]);
er:=WSAStartup(version,wsadata);
if er=0 then begin
memo1.Lines.Add('WSA Инициализирован v.'+inttostr(LOBYTE( wsaData.wVersion ))
+'.'+inttostr(HIBYTE( wsaData.wVersion )));
break;
end;
end;
if er<>0 then begin
Application.MessageBox(pchar(SysErrorMessage(WSAGetLastError)),'WSAStartup',MB_OK);
WSACleanup;
exit;
end;
sock:=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if sock=INVALID_SOCKET then
begin
Application.MessageBox(pchar(SysErrorMessage(WSAGetLastError)),'socket',MB_OK);
WSACleanup;
exit;
end;
sin.sin_family:=AF_INET;
Port:=WORD(strtoint(Edit1.text));
if bind(sock,sin,sizeof(sin))=SOCKET_ERROR then
begin
Application.MessageBox(pchar(SysErrorMessage(WSAGetLastError)),'bind',MB_OK);
closesocket(sock);
WSACleanup;
exit;
end;
// Listen
if listen( sock,32) = SOCKET_ERROR then
begin
Application.MessageBox(pchar(SysErrorMessage(WSAGetLastError)),'listen',MB_OK);
closesocket(sock);
WSACleanup;
exit;
end;
memo1.Lines.Add( 'Жду подключения...' );
while true do begin
AcceptSocket := SOCKET_ERROR;
Application.ProcessMessages;
while ( AcceptSocket = SOCKET_ERROR ) do begin
AcceptSocket := accept( sock, nil, nil);
Application.ProcessMessages;
end;
Ответ отправил: Werewolf (статус: 3-ий класс)
Отправлен: 22.07.2005, 02:48 Оценка за ответ: 5 Комментарий оценки: Еще не проверял, но надеюсь работает :) Cпасибо !!!
Вопрос № 23.772
Здравствуйте!
Разбиваю текстовый файл на нужное колличество строк (в Memo)
и сохраняю его в нескольких файлах.
Понял, что в RichEdit будет лучше так как открывает большое колличество строк.
Вопрос.
1.Как переделать с Memo на RichEdit
2.Как в SaveDialog убрать Имя файла и Тип файла,
оставить "путь" для сохранения и кнопки "сохранить и отмена".
Спасибо.
procedure TForm2.Button1Click(Sender: TObject);
var
m: integer;
begin
if SaveDialog2.Execute then
m:= StrToInt(Edit1.Text);
SaveStringsToFiles(Form1.Memo1.Lines, m);
Form2.Close;
end;
function TForm2.SaveStringsToFiles(const AList: TStrings;
ACountLines: Integer): Boolean;
var
i, x: integer;
List: TStrings;
FileName: string;// для добавления строк
begin
List:= TStringList.Create;
x:= 1;// Счетчик с 1го
FileName:= 'L'+IntToStr(x);
List.Add(FileName);
for i:= 0 to Alist.Count-1 do
begin
List.Add(AList.Strings[i]);
if ((i+1) mod ACountLines = 0)and(i<>0)
then
begin
List.Add('N'+IntToStr(List.Count+1)+'A450');// вот это добавили
List.SaveToFile(FileName+'.iso');
x:= x+1;
FileName:= 'L'+IntToStr(x);
List.Clear;
List.Add(FileName+'');//Убрали +'iso' для L1 L2 ...
end;
end;
{'N'+IntToStr(List.Count+1)+'A450' Отображает номер строки}
List.Add('N'+IntToStr(List.Count+1)+'A450');// вот это добавили для последнего файла
List.SaveToFile(FileName+'.iso');
List.Free;
Result:= True;
end;
Отправлен: 20.07.2005, 17:05
Вопрос задал: Serhik_z (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: Werewolf
Здравствуйте, Serhik_z!
1. вместо memo1 везде пропишите richedit1
2. убрать их можно через API команды предварительно найдя их hwnd, но для такой задачи, возможно, лучше будет вызвать диалог выбора папки (да ещё и с возможностью добавления новой) см. приложение.
Приложение:
Ответ отправил: Werewolf (статус: 3-ий класс)
Отправлен: 21.07.2005, 04:00
Отвечает: mvp
Здравствуйте, Serhik_z!
1. RichEdit1.lines := Memo1.lines;
а ещё лучше, как советовал WereWolf
--------- Моя совесть чиста - не бывшая в употреблении
Ответ отправил: mvp (статус: 3-ий класс)
Отправлен: 22.07.2005, 15:11