Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Forgot inclusion guard for the Colour struct. Whoops.
[xestiacalendar/.git] / source / common / text.cpp
index 8237440..d223993 100644 (file)
@@ -172,6 +172,88 @@ PropertyNameValue SplitNameValue(string InputData){
                
        }
        
+       // Check if the value has quotes at the start and end.
+       // Remove them if this is the case.
+       
+       if (FinalNameValue.Value.front() == '\"' && 
+               FinalNameValue.Value.back() == '\"'){
+               
+               FinalNameValue.Value.erase(0, 1);
+               FinalNameValue.Value.erase((FinalNameValue.Value.size() - 1), 1);
+                       
+       }
+       
        return FinalNameValue;
        
+}
+
+bool HexToInt(std::string *HexString, int *Number){
+       
+       // Check that each character in the string is a number
+       // or a letter (a-f/A-F).
+       
+       char Char = 0;
+       int CharNum = 0;
+       
+       for (int CharSeek = 0; 
+               CharSeek < HexString->size(); CharSeek++){
+               
+               // Check if character is a number (0-9).
+                       
+               Char = HexString->at(CharSeek);
+               CharNum = Char;
+                       
+               if (CharNum >= 48 &&
+                       CharNum <= 57){
+               
+                       continue;
+                               
+               }
+               
+               // Check if character is a letter (A-F)
+               
+               if (CharNum >= 65 &&
+                       CharNum <= 70){
+               
+                       continue;
+                               
+               }
+               
+               // Check if character is a letter (a-f).
+
+               if (CharNum >= 97 &&
+                       CharNum <= 102){
+               
+                       continue;
+                               
+               }
+               
+               // Exit from subroutine as character is invalid.
+               
+               return false;
+               
+       }
+       
+       // Convert a Hex value that is in string to integer.
+       
+       try {
+       
+               *Number = stoi((*HexString), nullptr, 16);
+       
+       }
+       
+       catch (const std::invalid_argument &err){
+               
+               return false;
+               
+       }
+       
+       catch (const std::out_of_range &err){
+               
+               return false;
+               
+       }
+       
+       return true;
+       
 }
\ No newline at end of file
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy