[Ajuda] Ajuda com String - Versão de Impressão +- Portal SAMP (https://portalsamp.com) +-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5) +--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6) +--- Tópico: [Ajuda] Ajuda com String (/showthread.php?tid=3658) |
Ajuda com String - Laura Clout - 01/06/2023 Eu gostaria de um código que mostrasse quando a palavra atingisse um número exato de caracteres, tipo 20, ai se o último caractere não for "_" ele pegaria a palavra incompleta (tipo: ARROZ BATA(acaba aqui)) e jogasse para a linha de baixo, ou como teste quero que apenas printe com ela de baixo, ai ficaria: ARROZ BATATA no lugar de: ARROZ BATA TA mas isso acontecesse apenas se não fosse um _ o último caractere. RE: Ajuda com String - White_Blue - 01/06/2023 (01/06/2023 19:09)Laura Clout Escreveu: Eu gostaria de um código que mostrasse quando a palavra atingisse um número exato de caracteres, tipo 20, ai se o último caractere não for "_" ele pegaria a palavra incompleta (tipo: ARROZ BATA(acaba aqui)) e jogasse para a linha de baixo, ou como teste quero que apenas printe com ela de baixo, ai ficaria: Não entendi bem o que você quer fazer, mas com certeza as funções strlen e strins e strcat vão te ajudar. strlen - Retorna o tamanho da string; strins - Injeta caracteres em uma determinada posição da string; strcat - Concatena duas strings. RE: Ajuda com String - Laura Clout - 01/06/2023 Tipo: tenho 3 linhas no textdraw, cada uma cabe 10 caracteres, quero que faça assim: ver se o caracter 10 (30 divido por 3) é "_", se o último caracter foi um "_", ele não vai fazer nada, mas se o último for uma letra, quero que ele pegue a palavra que ela letra faz parte (tipo BATATA) e jogue para a linha de baixo, basicamente corte ela se estiver inacabada, para não ficar ARROZ BATA TA, quero que fique ARROZ BATATA Então é basicamente pegar a palavra incompleta e jogar para baixo, pegar as letras antes de chegar no espaço. RE: Ajuda com String - Carlos Victor - 01/06/2023 Poderia ser mais explicativa? Mostrando exemplos, ficaria mais fácil de te ajudar. RE: Ajuda com String - Dr Editor - 02/06/2023 Código PHP: stock CriarListaTD(const string[], const novaLinha[] = "\n") Como usar: Código PHP: new string[] = "arroz batata arroz_doce nozes"; Vai imprimir: arroz~n~batata~n~arroz_doce~n~nozes RE: Ajuda com String - Laura Clout - 02/06/2023 (Frase Exemplo) Eu queria andar de avião sem asas (Frase na string do TextDraw que estou usando fica assim) Eu queria andar d avião Eu queria que ela ficasse sem cortar palavras, sabe? verificar se a ultima letra foi um espaço, se não tiver sido um espaço a função olhar até quando foi o último espaço, tipo: Eu queria andar (espaço). ai iria jogar o "d" que ficou cortado para a outra textdraw, para não ficar cortado: Eu queria andar de avião RE: Ajuda com String - Device-Black - 02/06/2023 Tente esse aqui, ele procura o espaço mais proximo do 20° caractere e insere o `~n~` Código PHP: TD_CutString(string[], count) RE: Ajuda com String - Laura Clout - 02/06/2023 Como eu deveria usar isso? obrigada RE: Ajuda com String - White_Blue - 03/06/2023 (02/06/2023 21:22)Laura Clout Escreveu: Como eu deveria usar isso? obrigada O código que o Dr Editor mandou funciona, ao menos no console, não sei se na Textdraw irá funcionar como esperado, mas é provável que sim. Exemplo de uso: Código PHP: public OnGameModeInit() { Código funcionando no console Lembrando que isso é manipulação de string avançada, e não creio que de fato haja a necessidade de fazer tal coisa sendo que é muito mais fácil quebrar a linha manualmente na Textdraw. Ao menos para mim não faz o menor sentido. Tem literalmente o mesmo efeito sem a necessidade de fazer isso tudo: Código PHP: Textdraw = TextDrawCreate(240.0, 580.0, "Bem-vindo~n~ao~n~meu~n~servidor"); Mas suponho que você queira usar essa função como modo de aprendizado ou para algo mais específico. RE: Ajuda com String - Laura Clout - 03/06/2023 Acho que vocês ainda não entenderam, eu só quero um código que se o caractere na posição 20 for " " ele não faça nada, mas se o caractere 20 for alguma letra ou número (qualquer coisa que não seja um espaço) ele separa da string, quero fazer isso para colocar em um textdraw de avisos e não ficar cortando as palavras, atualmente ela fica assim: Arroz batata batata arr oz Queria que o código verificasse se a última letra (no caso do exemplo é um r) se ela é um espaço, se não for, ele procura o espaço anterior (que fica depois do a do último batata) para ficar assim: Arroz batata batata arroz Não deixar ficar incompleto, ele corta na string |