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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2010, 16:16   #11
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Хм, у меня все прет. Delphi 7 ,Vista.

Код:
Memo1.Clear;
RunDosInMemo('ipconfig /all', Memo1);
Все по русски)))

Как вариант поменять OemToAnsi, на OemToChar

Последний раз редактировалось Kostia; 21.04.2010 в 16:18.
Kostia вне форума Ответить с цитированием
Старый 21.04.2010, 23:40   #12
ziztracer
 
Регистрация: 31.12.2009
Сообщений: 7
По умолчанию

[DCC Error] Unit1.pas(89): E2010 Incompatible types: 'Char' and 'AnsiChar'
такая вот ошибка
на оемто чар заменил нифига(
ошибка на
OemToansi(Buffer, Buffer);
bufferchar;
ziztracer вне форума Ответить с цитированием
Старый 21.04.2010, 23:41   #13
ziztracer
 
Регистрация: 31.12.2009
Сообщений: 7
По умолчанию

фак, двоеточие+p
заменяеться на смайлик)
ziztracer вне форума Ответить с цитированием
Старый 21.04.2010, 23:46   #14
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от ziztracer Посмотреть сообщение
[DCC Error] Unit1.pas(89): E2010 Incompatible types: 'Char' and 'AnsiChar'
такая вот ошибка
на оемто чар заменил нифига(
ошибка на
OemToansi(Buffer, Buffer);
bufferchar;
ne
Код:
buffer  : Char;
a
Код:
buffer : AnsiChar;
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Старый 22.04.2010, 20:21   #15
ziztracer
 
Регистрация: 31.12.2009
Сообщений: 7
По умолчанию

[DCC Error] Unit1.pas(64): E2010 Incompatible types: 'AnsiChar' and 'Pointer'
Buffer := AllocMem(ReadBuffer + 1);

bitsoft, теперь тут ошибка
ziztracer вне форума Ответить с цитированием
Старый 08.02.2016, 19:52   #16
serjthurams
Новичок
Джуниор
 
Регистрация: 05.09.2012
Сообщений: 1
По умолчанию Все работает. Даже запихнул в поток, чтобы не глючило

Цитата:
Сообщение от Яр|/||< (^_^) Посмотреть сообщение
ziztracer я вас понимаю у меня таже самая проблема, тока с компилятором и все 3 кода не работают
В 2010 версии Delphi. По другому типы нужно привести. У меня Delphi 7.

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TMyThread = class(TThread)
  private
    { Private declarations }
  protected
    procedure Execute; override;
  end;


var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure RunDosInMemo(CmdLine: string; AMemo: TMemo);
const
  ReadBuffer = 2400;
var
  Security: TSecurityAttributes;
  ReadPipe, WritePipe: THandle;
  start: TStartUpInfo;
  ProcessInfo: TProcessInformation;
  Buffer: Pchar;
  BytesRead: DWord;
  Apprunning: DWord;
begin
  Screen.Cursor := CrHourGlass;
  Form1.Button1.Enabled := False;
  with Security do
  begin
    nlength := SizeOf(TSecurityAttributes);
    binherithandle := true;
    lpsecuritydescriptor := nil;
  end;
  if Createpipe(ReadPipe, WritePipe,
    @Security, 0) then
  begin
    Buffer := AllocMem(ReadBuffer + 1);
    FillChar(Start, Sizeof(Start), #0);
    start.cb := SizeOf(start);
    start.hStdOutput := WritePipe;
    start.hStdInput := ReadPipe;
    start.dwFlags := STARTF_USESTDHANDLES +
      STARTF_USESHOWWINDOW;
    start.wShowWindow := SW_HIDE;

    if CreateProcess(nil,
      PChar(CmdLine),
      @Security,
      @Security,
      true,
      NORMAL_PRIORITY_CLASS,
      nil,
      nil,
      start,
      ProcessInfo) then
    begin
      repeat
        Apprunning := WaitForSingleObject
          (ProcessInfo.hProcess, 100);
        ReadFile(ReadPipe, Buffer[0],
          ReadBuffer, BytesRead, nil);
        Buffer[BytesRead] := #0;
        OemToAnsi(Buffer, Buffer);
        AMemo.Text := AMemo.text + string(Buffer);

        Application.ProcessMessages;
      until (Apprunning <> WAIT_TIMEOUT);
    end;
    FreeMem(Buffer);
    CloseHandle(ProcessInfo.hProcess);
    CloseHandle(ProcessInfo.hThread);
    CloseHandle(ReadPipe);
    CloseHandle(WritePipe);
  end;
  Screen.Cursor := CrDefault;
  Form1.Button1.Enabled := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  MyFirstThread: TMyThread;
begin
  MyFirstThread := TMyThread.Create(False);
  MyFirstThread.Priority := tpLower;
end;


procedure TMyThread.Execute;
begin
  Form1.Memo1.Clear;
  RunDosInMemo(Form1.Edit1.Text, Form1.Memo1);
end;



end.

Последний раз редактировалось serjthurams; 08.02.2016 в 19:55. Причина: Дописать
serjthurams вне форума Ответить с цитированием
Старый 08.02.2016, 20:23   #17
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
на вид мне нравиться)
после появления этой фразы в интернетах в мире и его окресностях совершили суицид 4 училки русского языка.
Цитата:
не прёт(
насчёт кодировок, как это исправить
у меня в мемо фигня выводиться какаято(
короче, ты даже не пытаешься понять, что этот код делает и как?
печально...
Но если ты начнёшь хотя бы искать инфу по работе с пайпами, то не всё ещё потеряно.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 08.02.2016, 20:44   #18
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
после появления этой фразы в интернетах в мире и его окресностях совершили суицид 4 училки русского языка.

короче, ты даже не пытаешься понять, что этот код делает и как?
печально...
Но если ты начнёшь хотя бы искать инфу по работе с пайпами, то не всё ещё потеряно.
Некропостеры... Бя...
Iron Monk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка текста при передаче из cmd в Memo Noor Общие вопросы Delphi 5 21.09.2011 16:15
cmd cold11 Помощь студентам 0 13.03.2010 18:23
Фин. рез по сделкам Aleksa Guan Microsoft Office Excel 8 05.01.2010 20:16
помогите с cmd lamer2008 Помощь студентам 3 22.10.2008 20:50
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40