Desativar o Windows Script Host no Windows

Problemas com as PEN drive infetadas, cheias de atalhos e pastas escondidas?
Desativar o WSH pode ser um opção muito útil em termos de segurança.
Para tal basta adicionar uma chave ao registo:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows Script Host\Settings]
"Enabled"=dword:00000000

Mais simples ainda será descarregar este “disable_wscript.reg” e executá-lo como administrador.

Outra opção será este pequeno utilitário que executa os scripts por nós:

  • disable_wscript.reg
  • limpapen.bat

Descarregar

Anúncios

Converter um inteiro numa string em C++ (C++11 ISO)

O número 32 é convertido numa string, que depois é concatenado ao texto “string: ” para ser mostrada.

#include
using namespace std;

int main()
{
    int n=32;
    string s=to_string(n);
    cout << "string: " + s  << endl;
    return 0;
}

Converter uma string num inteiro em C++ (C++11 ISO)

O número 32 está armazenado numa string, é convertido num inteiro e é mostrado incrementado.

#include
using namespace std;

int main()
{
    string s="32";
    int n=stoi(s);
    cout << n + 1 << endl;

    return 0;
}

Não esquecer das opções do compilador …

Mais info: std:: sto@

Como inverter uma palavra (string) em C++?

Ler uma palavra e apresentar a sua inversa pode ser uma tarefa relativamente simples, desde que cada um decida não complicar.

Vamos ver um primeiro exemplo:

#include 
using namespace std;
int main()
{
    string s, nova="";
    cin >> s;
    for(int i=0; i<s.length(); i++)
        nova= s[i] + nova;
    cout << nova << endl;
    return 0;
}

Neste caso optamos por criar uma nova string contendo a palavra invertida. Simples e rápido!

Vamos agora considerar outro exemplo, partindo do princípio que desejamos fazer a troca das letras dentro da própria string. Por exemplo:

#include 
#include 
using namespace std;
int main()
{
    string s;
    cin >> s;
    int p = s.length() - 1;
    for(int i=0; i<s.length()/2; i++)
    {
        char t = s[i];
        s[i] = s[p];
        s[p] = t;
        p--;
    }
    cout << s << endl;
    return 0;
}

Ou até mesmo partindo do princípio que uma string não é mais do que um array de carateres, recorrendo à função reverse e tratando de tudo numa única linha:

#include 
#include 
using namespace std;
int main()
{
    string s;
    cin >> s;
    reverse(s.begin(),s.end());
    cout << s << endl;
    return 0;
}

Claro que tudo isto já foi mais do que dito All over the Internet!

Então porque razão publico?

Trata-se apenas de uma desabafo. Alguém me entregou programas muito complexos para tentar resolver esta tarefa tão simples.


 

Como obter o próximo id livre de uma tabela MySQL (C# WPF)

Mais uma dica que pode ser útil … mas apenas em monoposto!

Antes de inserir um novo registo, sem recurso ao AUTO_INCREMENT, podemos desejar saber o valor do campo chave, que será obtido incrementando o id de valor mais alto.

Deixo aqui uma forma de o conseguir que, embora pouco sofisticada, faz o serviço.

#region Calcular o próximo id livre
private void mostarBtn_Click(object sender, RoutedEventArgs e)
{
    try
    {
        ligacaoBD.Open();
        string stm = "select max(idContacto) as x from contacto";
        MySqlCommand cmd = new MySqlCommand(stm, ligacaoBD);
        int id;
        Int32.TryParse(cmd.ExecuteScalar().ToString(), out id);
        id++;
        MessageBox.Show("O próximo id é " + id.ToString());
    }
    catch
    {
        MessageBox.Show("Erro!");
    }
        finally
    {
        ligacaoBD.Close();
    }

}
#endregion

Link para download da base de dados e código:

https://app.box.com/s/r1bqtvburr1dknn2455ntzenyadvs6ln