//------------------------------------------------------------------------------ //Mostra os nomes das portas "COM" instaladas no sistema num ComboBox. //------------------------------------------------------------------------------ procedure Tfrm_Analise.MostraPortasCom(); var
Registro: TRegistry; //Para trabalhar com os Registros do windows.
Lista: Tstrings;
indice: Integer; //Para incrementar. begin
Registro := TRegistry.Create; //Cria e aloca espaço na memória para o objeto. try
Registro.RootKey := HKEY_LOCAL_MACHINE; //Define chave raiz.
Registro.OpenKey('hardwaredevicemapserialcomm', False); //Abre a chave.
Lista := TstringList.Create; try //Obtém uma string contendo todos os nomes de valores associados com a chave atual.
Registro.GetValueNames(Lista); //Pega nos nomes das portas. for indice := 0 to Lista.Count - 1 do//Count é a quantidade de portas existentes.
ComboBoxPorta.Items.Add(Registro.ReadString( Lista.Strings[indice] ));
//Adciona os nomes das porta no ComboBox1. if ComboBoxPorta.Items.Count > 0 then
ComboBoxPorta.ItemIndex := 0; //Para exibir o nome da porta. finally
Lista.Free; end;
Registro.CloseKey; finally
Registro.Free; end; end;
procedure Tfrm_Analise.FormCreate(Sender: TObject); begin
MostraPortasCom; //Carrega os nomes das porta COM num FilterComboBox. end;