Change character value in TextFormField flutter

55 Views Asked by At
@override
  Widget build(BuildContext context) {
    final AppStateManager manager = AppStateManager.of(context);

    String textLetter = manager.appState.replacementsController.text;
    String textCodeElec = manager.appState.replacementsController.value.text;
    // log('data: ${manager.appState.textEditingDeltaHistory.length}');
    // Map<String, dynamic> map = {"ap": "01", "uyên": "02", "H": "03", "ơ": "04"};
    // String text = textLetter;

    // map.keys.forEach((element) {
    //   log('data: $element');
    //   textCodeElec = element;
    // });

    if (textLetter.toLowerCase().startsWith('1')) {
      textCodeElec += '19';
      textLetter = textLetter.substring('1'.length);
    }
    if (textLetter.toLowerCase().startsWith('2')) {
      textCodeElec += '00';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('3')) {
      textCodeElec += '70';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('4')) {
      textCodeElec += '08';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('5')) {
      textCodeElec += '56';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('6')) {
      textCodeElec += '68';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('7')) {
      textCodeElec += '20';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('8')) {
      textCodeElec += '16';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('9')) {
      textCodeElec += '27';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('ph')) {
      textCodeElec += '59';
      textLetter = textLetter.substring('ph'.length);
    }
    if (textLetter.toLowerCase().startsWith('kh')) {
      textCodeElec += '49';
      textLetter = textLetter.substring('kh'.length);
    }
    if (textLetter.toLowerCase().startsWith('tr')) {
      textCodeElec += '37';
      textLetter = textLetter.substring('tr'.length);
    }
    if (textLetter.toLowerCase().startsWith('th')) {
      textCodeElec += '60';
      textLetter = textLetter.substring('th'.length);
    }
    if (textLetter.toLowerCase().startsWith('nh')) {
      textCodeElec += '78';
      textLetter = textLetter.substring('nh'.length);
    }
    if (textLetter.toLowerCase().startsWith('ch')) {
      textCodeElec += '44';
      textLetter = textLetter.substring('ch'.length);
    }
    if (textLetter.toLowerCase().startsWith('gh')) {
      textCodeElec += '28';
      textLetter = textLetter.substring('gh'.length);
    }
    if (textLetter.toLowerCase().startsWith('ng')) {
      textCodeElec += '34';
      textLetter = textLetter.substring('ng'.length);
    }
    if (textLetter.toLowerCase().startsWith('gi')) {
      textCodeElec += '30';
      textLetter = textLetter.substring('gi'.length);
    }
    if (textLetter.toLowerCase().startsWith('a')) {
      textCodeElec += '90'; //a print 90
      // remove a from textLetter
      textLetter = textLetter.substring('a'.length);
    }
    if (textLetter.toLowerCase().startsWith('â')) {
      textCodeElec += '25';
      textLetter = textLetter.substring('â'.length);
    }
    if (textLetter.toLowerCase().startsWith('b')) {
      textCodeElec += '88';
      textLetter = textLetter.substring('b'.length);
    }
    if (textLetter.toLowerCase().startsWith('c')) {
      textCodeElec += '50';
      textLetter = textLetter.substring('c'.length);
    }
    if (textLetter.toLowerCase().startsWith('d')) {
      textCodeElec += '12';
      textLetter = textLetter.substring('d'.length);
    }
    if (textLetter.toLowerCase().startsWith('đ')) {
      textCodeElec += '12';
      textLetter = textLetter.substring('đ'.length);
    }
    if (textLetter.toLowerCase().startsWith('e')) {
      textCodeElec += '07';
      textLetter = textLetter.substring('e'.length);
    }
    if (textLetter.toLowerCase().startsWith('f')) {
      textCodeElec += '59';
      textLetter = textLetter.substring('f'.length);
    }
    if (textLetter.toLowerCase().startsWith('g')) {
      textCodeElec += '30';
      textLetter = textLetter.substring('g'.length);
    }
    if (textLetter.toLowerCase().startsWith('h')) {
      textCodeElec += '03';
      textLetter = textLetter.substring('h'.length);
    }
    if (textLetter.toLowerCase().startsWith('i')) {
      textCodeElec += '46';
      textLetter = textLetter.substring('i'.length);
    }
    if (textLetter.toLowerCase().startsWith('í')) {
      textCodeElec += '4609';
      textLetter = textLetter.substring('í'.length);
    }
    if (textLetter.toLowerCase().startsWith('k')) {
      textCodeElec += '97';
      textLetter = textLetter.substring('k'.length);
    }
    if (textLetter.toLowerCase().startsWith('l')) {
      textCodeElec += '58';
      textLetter = textLetter.substring('l'.length);
    }
    if (textLetter.toLowerCase().startsWith('m')) {
      textCodeElec += '85';
      textLetter = textLetter.substring('m'.length);
    }
    if (textLetter.toLowerCase().startsWith('n')) {
      textCodeElec += '74';
      textLetter = textLetter.substring('n'.length);
    }
    if (textLetter.toLowerCase().startsWith('o')) {
      textCodeElec += '47';
      textLetter = textLetter.substring('o'.length);
    }
    if (textLetter.toLowerCase().startsWith('p')) {
      textCodeElec += '59';
      textLetter = textLetter.substring('p'.length);
    }
    if (textLetter.toLowerCase().startsWith('q')) {
      textCodeElec += '62';
      textLetter = textLetter.substring('q'.length);
    }
    if (textLetter.toLowerCase().startsWith('r')) {
      textCodeElec += '21';
      textLetter = textLetter.substring('r'.length);
    }
    if (textLetter.toLowerCase().startsWith('s')) {
      textCodeElec += '89';
      textLetter = textLetter.substring('s'.length);
    }
    if (textLetter.toLowerCase().startsWith('t')) {
      textCodeElec += '33';
      textLetter = textLetter.substring('t'.length);
    }
    if (textLetter.toLowerCase().startsWith('u')) {
      textCodeElec += '42';
      textLetter = textLetter.substring('u'.length);
    }
    if (textLetter.toLowerCase().startsWith('v')) {
      textCodeElec += '82';
      textLetter = textLetter.substring('v'.length);
    }
    if (textLetter.toLowerCase().startsWith('w')) {
      textCodeElec += '84';
      textLetter = textLetter.substring('w'.length);
    }
    if (textLetter.toLowerCase().startsWith('x')) {
      textCodeElec += '77';
      textLetter = textLetter.substring('x'.length);
    }
    if (textLetter.toLowerCase().startsWith('y')) {
      textCodeElec += '31';
      textLetter = textLetter.substring('y'.length);
    }
    if (textLetter.toLowerCase().startsWith('z')) {
      textCodeElec += '12  ';
      textLetter = textLetter.substring('z'.length);
    }
    if (textLetter.toLowerCase().startsWith('ơ')) {
      textCodeElec += '04';
      textLetter = textLetter.substring('ơ'.length);
    }
    if (textLetter.toLowerCase().startsWith('ô')) {
      textCodeElec += '83';
      textLetter = textLetter.substring('ô'.length);
    }
    if (textLetter.toLowerCase().startsWith('ap')) {
      textCodeElec += '01';
      textLetter = textLetter.substring('ap'.length);
    }
    if (textLetter.toLowerCase().startsWith('áp')) {
      textCodeElec += '0109';
      textLetter = textLetter.substring('áp'.length);
    }
    if (textLetter.toLowerCase().startsWith('ạp')) {
      textCodeElec += '0193';
      textLetter = textLetter.substring('ạp'.length);
    }
    if (textLetter.toLowerCase().startsWith('âp')) {
      textCodeElec += '26';
      textLetter = textLetter.substring('âp'.length);
    }
    if (textLetter.toLowerCase().startsWith('ây')) {
      textCodeElec += '26';
      textLetter = textLetter.substring('ây'.length);
    }
    if (textLetter.toLowerCase().startsWith('ay')) {
      textCodeElec += '87';
      textLetter = textLetter.substring('ay'.length);
    }
    if (textLetter.toLowerCase().startsWith('ăng')) {
      textCodeElec += '39';
      textLetter = textLetter.substring('ăng'.length);
    }
    if (textLetter.toLowerCase().startsWith('uân')) {
      textCodeElec += '43';         
      textLetter = textLetter.substring('uân'.length);
    }
    if (textLetter.toLowerCase().startsWith('am')) {
      textCodeElec += '45';
      textLetter = textLetter.substring('am'.length, 1);
    }
    else if (textLetter.toLowerCase().startsWith(' ')) {
      textCodeElec += ' ';
      textLetter = textLetter.substring(1);
    }

    log(textCodeElec);
    return Column(
      children: [
        _buildTextEditingDeltaViewCode(textCodeElec.trim()),// ex: input (hello guy) 
        _buildTextEditingDeltaViewHeader(),                 // => text (0307585847  304231)
        Expanded(
          child: ListView.separated(
            padding: const EdgeInsets.symmetric(horizontal: 35.0),
            itemBuilder: (context, index) {
              return _buildTextEditingDeltaHistoryViews(
                  manager.appState.textEditingDeltaHistory)[index];
            },
            itemCount: manager.appState.textEditingDeltaHistory.length,
            separatorBuilder: (context, index) {
              return const SizedBox(height: 2.0);
            },
          ),
        ),
        const SizedBox(height: 10),
      ],
    );
  }
}

here is my code I want it to encode the characters into a complete sentence, but here it seems to only encode the first word on the input.

// log('data: ${manager.appState.textEditingDeltaHistory.length}');
    // Map<String, dynamic> map = {"ap": "01", "uyên": "02", "H": "03", "ơ": "04"};
    // String text = textLetter;

    // map.keys.forEach((element) {
    //   log('data: $element');
    //   textCodeElec = element;
    // });

    if (textLetter.toLowerCase().startsWith('1')) {
      textCodeElec += '19';
      textLetter = textLetter.substring('1'.length);
    }
    if (textLetter.toLowerCase().startsWith('2')) {
      textCodeElec += '00';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('3')) {
      textCodeElec += '70';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('4')) {
      textCodeElec += '08';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('5')) {
      textCodeElec += '56';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('6')) {
      textCodeElec += '68';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('7')) {
      textCodeElec += '20';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('8')) {
      textCodeElec += '16';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('9')) {
      textCodeElec += '27';
      textLetter = textLetter.substring(1);
    }
    if (textLetter.toLowerCase().startsWith('ph')) {
      textCodeElec += '59';
      textLetter = textLetter.substring('ph'.length);
    }
    if (textLetter.toLowerCase().startsWith('kh')) {
      textCodeElec += '49';
      textLetter = textLetter.substring('kh'.length);
    }
    if (textLetter.toLowerCase().startsWith('tr')) {
      textCodeElec += '37';
      textLetter = textLetter.substring('tr'.length);
    }
    if (textLetter.toLowerCase().startsWith('th')) {
      textCodeElec += '60';
      textLetter = textLetter.substring('th'.length);
    }
    if (textLetter.toLowerCase().startsWith('nh')) {
      textCodeElec += '78';
      textLetter = textLetter.substring('nh'.length);
    }
    if (textLetter.toLowerCase().startsWith('ch')) {
      textCodeElec += '44';
      textLetter = textLetter.substring('ch'.length);
    }
    if (textLetter.toLowerCase().startsWith('gh')) {
      textCodeElec += '28';
      textLetter = textLetter.substring('gh'.length);
    }
    if (textLetter.toLowerCase().startsWith('ng')) {
      textCodeElec += '34';
      textLetter = textLetter.substring('ng'.length);
    }
    if (textLetter.toLowerCase().startsWith('gi')) {
      textCodeElec += '30';
      textLetter = textLetter.substring('gi'.length);
    }
    if (textLetter.toLowerCase().startsWith('a')) {
      textCodeElec += '90'; //a print 90
      // remove a from textLetter
      textLetter = textLetter.substring('a'.length);
    }
    if (textLetter.toLowerCase().startsWith('â')) {
      textCodeElec += '25';
      textLetter = textLetter.substring('â'.length);
    }
    if (textLetter.toLowerCase().startsWith('b')) {
      textCodeElec += '88';
      textLetter = textLetter.substring('b'.length);
    }
    if (textLetter.toLowerCase().startsWith('c')) {
      textCodeElec += '50';
      textLetter = textLetter.substring('c'.length);
    }
    if (textLetter.toLowerCase().startsWith('d')) {
      textCodeElec += '12';
      textLetter = textLetter.substring('d'.length);
    }
    if (textLetter.toLowerCase().startsWith('đ')) {
      textCodeElec += '12';
      textLetter = textLetter.substring('đ'.length);
    }
    if (textLetter.toLowerCase().startsWith('e')) {
      textCodeElec += '07';
      textLetter = textLetter.substring('e'.length);
    }
    if (textLetter.toLowerCase().startsWith('f')) {
      textCodeElec += '59';
      textLetter = textLetter.substring('f'.length);
    }
    if (textLetter.toLowerCase().startsWith('g')) {
      textCodeElec += '30';
      textLetter = textLetter.substring('g'.length);
    }
    if (textLetter.toLowerCase().startsWith('h')) {
      textCodeElec += '03';
      textLetter = textLetter.substring('h'.length);
    }
    if (textLetter.toLowerCase().startsWith('i')) {
      textCodeElec += '46';
      textLetter = textLetter.substring('i'.length);
    }
    if (textLetter.toLowerCase().startsWith('í')) {
      textCodeElec += '4609';
      textLetter = textLetter.substring('í'.length);
    }
    if (textLetter.toLowerCase().startsWith('k')) {
      textCodeElec += '97';
      textLetter = textLetter.substring('k'.length);
    }
    if (textLetter.toLowerCase().startsWith('l')) {
      textCodeElec += '58';
      textLetter = textLetter.substring('l'.length);
    }
    if (textLetter.toLowerCase().startsWith('m')) {
      textCodeElec += '85';
      textLetter = textLetter.substring('m'.length);
    }
    if (textLetter.toLowerCase().startsWith('n')) {
      textCodeElec += '74';
      textLetter = textLetter.substring('n'.length);
    }
    if (textLetter.toLowerCase().startsWith('o')) {
      textCodeElec += '47';
      textLetter = textLetter.substring('o'.length);
    }
    if (textLetter.toLowerCase().startsWith('p')) {
      textCodeElec += '59';
      textLetter = textLetter.substring('p'.length);
    }
    if (textLetter.toLowerCase().startsWith('q')) {
      textCodeElec += '62';
      textLetter = textLetter.substring('q'.length);
    }
    if (textLetter.toLowerCase().startsWith('r')) {
      textCodeElec += '21';
      textLetter = textLetter.substring('r'.length);
    }
    if (textLetter.toLowerCase().startsWith('s')) {
      textCodeElec += '89';
      textLetter = textLetter.substring('s'.length);
    }
    if (textLetter.toLowerCase().startsWith('t')) {
      textCodeElec += '33';
      textLetter = textLetter.substring('t'.length);
    }
    if (textLetter.toLowerCase().startsWith('u')) {
      textCodeElec += '42';
      textLetter = textLetter.substring('u'.length);
    }
    if (textLetter.toLowerCase().startsWith('v')) {
      textCodeElec += '82';
      textLetter = textLetter.substring('v'.length);
    }
    if (textLetter.toLowerCase().startsWith('w')) {
      textCodeElec += '84';
      textLetter = textLetter.substring('w'.length);
    }
    if (textLetter.toLowerCase().startsWith('x')) {
      textCodeElec += '77';
      textLetter = textLetter.substring('x'.length);
    }
    if (textLetter.toLowerCase().startsWith('y')) {
      textCodeElec += '31';
      textLetter = textLetter.substring('y'.length);
    }
    if (textLetter.toLowerCase().startsWith('z')) {
      textCodeElec += '12  ';
      textLetter = textLetter.substring('z'.length);
    }
    if (textLetter.toLowerCase().startsWith('ơ')) {
      textCodeElec += '04';
      textLetter = textLetter.substring('ơ'.length);
    }
    if (textLetter.toLowerCase().startsWith('ô')) {
      textCodeElec += '83';
      textLetter = textLetter.substring('ô'.length);
    }
    if (textLetter.toLowerCase().startsWith('ap')) {
      textCodeElec += '01';
      textLetter = textLetter.substring('ap'.length);
    }
    if (textLetter.toLowerCase().startsWith('áp')) {
      textCodeElec += '0109';
      textLetter = textLetter.substring('áp'.length);
    }
    if (textLetter.toLowerCase().startsWith('ạp')) {
      textCodeElec += '0193';
      textLetter = textLetter.substring('ạp'.length);
    }
    if (textLetter.toLowerCase().startsWith('âp')) {
      textCodeElec += '26';
      textLetter = textLetter.substring('âp'.length);
    }
    if (textLetter.toLowerCase().startsWith('ây')) {
      textCodeElec += '26';
      textLetter = textLetter.substring('ây'.length);
    }
    if (textLetter.toLowerCase().startsWith('ay')) {
      textCodeElec += '87';
      textLetter = textLetter.substring('ay'.length);
    }
    if (textLetter.toLowerCase().startsWith('ăng')) {
      textCodeElec += '39';
      textLetter = textLetter.substring('ăng'.length);
    }
    if (textLetter.toLowerCase().startsWith('uân')) {
      textCodeElec += '43';         
      textLetter = textLetter.substring('uân'.length);
    }
    if (textLetter.toLowerCase().startsWith('am')) {
      textCodeElec += '45';
      textLetter = textLetter.substring('am'.length, 1);
    }
    else if (textLetter.toLowerCase().startsWith(' ')) {
      textCodeElec += ' ';
      textLetter = textLetter.substring(1);
    }

I've been trying to think but still don't have any suitable ideas for this problem ex: input (hello guy) => text (0307585847 304231) But it can only encode the first phrase 'hello' and the following 'guy' does not display anything, why is that so?

0

There are 0 best solutions below