Strcat - Duzzxls - 11/04/2024
Como concatenar 3 frases ou mais usando o strcat? Eu vi em um código que se cria uma variável e dá a ela o valor de EOS, tipo eu queria entender como funciona isso.
RE: Strcat - Carlos Victor - 11/04/2024
A função strcat, ela por sua vez, concatena (junta) duas strings, sendo a primeira a string base, e a segunda, a que irá se juntar.
Exemplos:
Eu desejo juntar a palavra "amo" na frase que está escrita apenas "eu te", para isso, em um exemplo prático do Pawn, iremos fazer:
Código PHP: new string[10] = "Eu te";
print(string); - Eu te
strcat(string, " amo.");
print(string); - Eu te amo.
Percebe-se que no uso do strcat eu utilizei o espaço, caso não tivesse usado, a frase final ficaria: "Eu teamo", isto porque, a função apenas junta o A + B (string 1 e string 2) em uma só.
Sobre o seu tópico:
Já foi explicado como funciona o strcat, sobre juntar usar três vezes, não tem problema, você pode usar até milhões de vezes, a função sempre funcionará da mesma forma.
Sobre a variável com o valor EOS, é porque esse valor limpa a variável, deixa ela nula, é como se fosse: "" (tem nada escrito), geralmente, se usa o EOS em variáveis estáticas, no caso você limpa uma variável, caso ela seja estática, caso você crie uma variável comum, normal utilizando o new, a variável automaticamente irá ser criada vazia, sem nada dentro. Deixarei um exemplo com base na sua dúvida abaixo:
Código PHP: new string[10];
print(string); -
strcat(string, "Eu "); print(string); - Eu
strcat(string, "te "); print(string); - Eu te
strcat(string, "amo."); print(string); - Eu te amo.
Caso deseja ler sobre a função de uma melhor forma, mais detalhada, leia: https://www.open.mp/docs/scripting/functions/strcat
RE: Strcat - Duzzxls - 20/04/2024
Então da pra criar uma variável base que armazena um texto assim usando format: "Nome\t\t\tID\n" e criar uma nova variável que armazenara um ou mais textos contendo informações?
RE: Strcat - Dr Editor - 20/04/2024
Você pode concatenar com strcat ou formatando a variável:
Usando strcat:
Código PHP: static var[25];
var = "olá!"; strcat((var[0] = '\0', var), "teste"); // Limpa a variável e atribui o valor para "teste" strcat((var[0] = '\0', var), "outro teste"); // Limpa a variável e atribui o valor para "outro teste" strcat(var, " mais um teste"); // Atribui o valor para "outro teste mais um teste"
Usando format:
Código PHP: format(var, sizeof var, "teste"); // Limpa a variável e formata, atribuindo seu valor para "teste" format(var, sizeof var, "%s de formatação", var); // Limpa a variável e formata, aproveitando o valor da variável e atribuindo seu valor para "teste de formatação"
RE: Strcat - xbruno1000x - 21/04/2024
Um exemplo de como usar o strcat para concatenar textos numa dialog:
Código: CMD:lojaconveniencia(playerid)
{
new loja[2860], string[128];
format(loja, sizeof loja, "Item ID\tNome do Item\tPreço\n");
strcat(loja, "{696969}0\t{CFCFCF}Nenhum item\t{FFFFFF}R$ 0\n");
strcat(loja, "{696969}1\t{CFCFCF}Pacote de batatas fritas\t{76EE00}R$ 5\n");
strcat(loja, "{696969}2\t{CFCFCF}Barra de chocolate\t{76EE00}R$ 10\n");
strcat(loja, "{696969}3\t{CFCFCF}Refrigerante\t{76EE00}R$ 7\n");
strcat(loja, "{696969}4\t{CFCFCF}Sanduíche de presunto\t{76EE00}R$ 8\n");
strcat(loja, "{696969}5\t{CFCFCF}Café\t{FF3030}R$ 4\n");
strcat(loja, "{696969}6\t{CFCFCF}Salgadinho\t{FF3030}R$ 6\n");
strcat(loja, "{696969}7\t{CFCFCF}Pacote de biscoitos\t{FF3030}R$ 9\n");
strcat(loja, "{696969}8\t{CFCFCF}Hambúrguer\t{FF3030}R$ 12\n");
strcat(loja, "{696969}9\t{CFCFCF}Muffin de chocolate\t{9B4D00}R$ 3\n");
strcat(loja, "{696969}10\t{CFCFCF}Sorvete\t{9B4D00}R$ 6\n");
strcat(loja, "{696969}11\t{CFCFCF}Pacote de pipoca\t{9B4D00}R$ 4\n");
strcat(loja, "{696969}12\t{CFCFCF}Cachorro-quente\t{9B4D00}R$ 10\n");
strcat(loja, "{696969}13\t{CFCFCF}Bebida energética\t{0000FF}R$ 8\n");
strcat(loja, "{696969}14\t{CFCFCF}Pacote de doces\t{0000FF}R$ 7\n");
strcat(loja, "{696969}15\t{CFCFCF}Sanduíche de frango\t{0000FF}R$ 9\n");
strcat(loja, "{696969}16\t{CFCFCF}Pão de queijo\t{0000FF}R$ 5\n");
strcat(loja, "{696969}17\t{CFCFCF}Bolo de cenoura\t{FFFF00}R$ 12\n");
strcat(loja, "{696969}18{FFEC8B}(VIP)\t{CFCFCF}Café da manhã completo\t{54FF9F}R$ 15\n");
format(string, sizeof string, "{EE2C2C}<< Novo >>\t{FFF68F}Comprar novo item ID: {EE2C2C}[%d]\n", lojaInfo[playerid][item_quantidade] + 1);
strcat(loja, string);
format(string, sizeof string, "Você pode comprar até o item ID: {01DF01}[%d]", lojaInfo[playerid][item_quantidade]);
ShowPlayerDialogEx(playerid, DIALOG_LOJA, DIALOG_STYLE_TABLIST_HEADERS, "Bem-vindo à loja de conveniência", loja, "Selecionar", "Fechar");
return 1;
}
|